# Adds invoice description, footer, and custom parameters to the Subscription Schedules and Quotes APIs

## What’s new

You can now add custom invoice [descriptions](https://docs.stripe.com/api/quotes/create.md?api-version=2026-07-29.dahlia#create_quote-invoice_settings-description), [footers](https://docs.stripe.com/api/quotes/create.md?api-version=2026-07-29.dahlia#create_quote-invoice_settings-footer), and [custom parameters](https://docs.stripe.com/api/quotes/create.md?api-version=2026-07-29.dahlia#create_quote-invoice_settings-custom_fields) directly when creating or updating [Subscription Schedules](https://docs.stripe.com/api/subscription_schedules.md?api-version=2026-07-29.dahlia) and [Quotes](https://docs.stripe.com/api/quotes.md?api-version=2026-07-29.dahlia), rather than needing to modify invoices after they’re generated.

## Impact

Previously, you had to update each invoice separately to add descriptions, footers, or custom parameters (such as purchase order numbers or project codes). You can now set these parameters directly on the schedule or quote, and they get applied automatically to all invoices generated from it, reducing manual steps and ensuring consistent invoice presentation across your billing workflows.

This provides more control over invoice presentation and lets you include business-specific information like purchase order numbers or project codes that appear consistently across all invoices. For more information, see [Subscription Schedules](https://docs.stripe.com/billing/subscriptions/subscription-schedules.md) and [Quotes](https://docs.stripe.com/quotes.md).

## Changes

#### REST API

| Parameters | Change | Resources or endpoints |
| --- | --- | --- |
| `custom_fields`, `description`, `footer` | Added | [Quote#create.invoice_settings](/api/quotes/create?api-version=2026-07-29.dahlia#create_quote-invoice_settings), [Quote#update.invoice_settings](/api/quotes/update?api-version=2026-07-29.dahlia#update_quote-invoice_settings), [Quote.invoice_settings](/api/quotes/object?api-version=2026-07-29.dahlia#quote_object-invoice_settings), [SubscriptionSchedule#create.default_settings.invoice_settings](/api/subscription_schedules/create?api-version=2026-07-29.dahlia#create_subscription_schedule-default_settings-invoice_settings), [SubscriptionSchedule#create.phases[].invoice_settings](/api/subscription_schedules/create?api-version=2026-07-29.dahlia#create_subscription_schedule-phases-invoice_settings), [SubscriptionSchedule#update.default_settings.invoice_settings](/api/subscription_schedules/update?api-version=2026-07-29.dahlia#update_subscription_schedule-default_settings-invoice_settings), [SubscriptionSchedule#update.phases[].invoice_settings](/api/subscription_schedules/update?api-version=2026-07-29.dahlia#update_subscription_schedule-phases-invoice_settings), [SubscriptionSchedule.default_settings.invoice_settings](/api/subscription_schedules/object?api-version=2026-07-29.dahlia#subscription_schedule_object-default_settings-invoice_settings), [SubscriptionSchedule.phases[].invoice_settings](/api/subscription_schedules/object?api-version=2026-07-29.dahlia#subscription_schedule_object-phases-invoice_settings) |

#### Ruby

| Parameters | Change | Resources or methods |
| --- | --- | --- |
| `custom_fields`, `description`, `footer` | Added | [Quote::InvoiceSetting](/api/quotes/object?api-version=2026-07-29.dahlia#quote_object-invoice_settings), [QuoteCreateParams::InvoiceSetting](/api/quotes/create?api-version=2026-07-29.dahlia#create_quote-invoice_settings), [QuoteUpdateParams::InvoiceSetting](/api/quotes/update?api-version=2026-07-29.dahlia#update_quote-invoice_settings), [SubscriptionSchedule::DefaultSetting::InvoiceSetting](/api/subscription_schedules/object?api-version=2026-07-29.dahlia#subscription_schedule_object-default_settings-invoice_settings), [SubscriptionSchedule::Phase::InvoiceSetting](/api/subscription_schedules/object?api-version=2026-07-29.dahlia#subscription_schedule_object-phases-invoice_settings), [SubscriptionScheduleCreateParams::DefaultSetting::InvoiceSetting](/api/subscription_schedules/create?api-version=2026-07-29.dahlia#create_subscription_schedule-default_settings-invoice_settings), [SubscriptionScheduleCreateParams::Phase::InvoiceSetting](/api/subscription_schedules/create?api-version=2026-07-29.dahlia#create_subscription_schedule-phases-invoice_settings), [SubscriptionScheduleUpdateParams::DefaultSetting::InvoiceSetting](/api/subscription_schedules/update?api-version=2026-07-29.dahlia#update_subscription_schedule-default_settings-invoice_settings), [SubscriptionScheduleUpdateParams::Phase::InvoiceSetting](/api/subscription_schedules/update?api-version=2026-07-29.dahlia#update_subscription_schedule-phases-invoice_settings) |

#### Python

| Parameters | Change | Resources or methods |
| --- | --- | --- |
| `custom_fields`, `description`, `footer` | Added | [Quote.InvoiceSetting](/api/quotes/object?api-version=2026-07-29.dahlia#quote_object-invoice_settings), [QuoteCreateParamsInvoiceSetting](/api/quotes/create?api-version=2026-07-29.dahlia#create_quote-invoice_settings), [QuoteModifyParamsInvoiceSetting](/api/quotes/update?api-version=2026-07-29.dahlia#update_quote-invoice_settings), [SubscriptionSchedule.DefaultSetting.InvoiceSetting](/api/subscription_schedules/object?api-version=2026-07-29.dahlia#subscription_schedule_object-default_settings-invoice_settings), [SubscriptionSchedule.Phase.InvoiceSetting](/api/subscription_schedules/object?api-version=2026-07-29.dahlia#subscription_schedule_object-phases-invoice_settings), [SubscriptionScheduleCreateParamsDefaultSettingInvoiceSetting](/api/subscription_schedules/create?api-version=2026-07-29.dahlia#create_subscription_schedule-default_settings-invoice_settings), [SubscriptionScheduleCreateParamsPhaseInvoiceSetting](/api/subscription_schedules/create?api-version=2026-07-29.dahlia#create_subscription_schedule-phases-invoice_settings), [SubscriptionScheduleModifyParamsDefaultSettingInvoiceSetting](/api/subscription_schedules/update?api-version=2026-07-29.dahlia#update_subscription_schedule-default_settings-invoice_settings), [SubscriptionScheduleModifyParamsPhaseInvoiceSetting](/api/subscription_schedules/update?api-version=2026-07-29.dahlia#update_subscription_schedule-phases-invoice_settings) |

#### PHP

| Parameters | Change | Resources or methods |
| --- | --- | --- |
| `custom_fields`, `description`, `footer` | Added | [Quote.create().$params.invoice_setting](/api/quotes/create?api-version=2026-07-29.dahlia#create_quote-invoice_settings), [Quote.invoice_settings](/api/quotes/object?api-version=2026-07-29.dahlia#quote_object-invoice_settings), [Quote.update().$params.invoice_setting](/api/quotes/update?api-version=2026-07-29.dahlia#update_quote-invoice_settings), [SubscriptionSchedule.create().$params.default_setting.invoice_setting](/api/subscription_schedules/create?api-version=2026-07-29.dahlia#create_subscription_schedule-default_settings-invoice_settings), [SubscriptionSchedule.create().$params.phase.invoice_setting](/api/subscription_schedules/create?api-version=2026-07-29.dahlia#create_subscription_schedule-phases-invoice_settings), [SubscriptionSchedule.default_settings.invoice_settings](/api/subscription_schedules/object?api-version=2026-07-29.dahlia#subscription_schedule_object-default_settings-invoice_settings), [SubscriptionSchedule.phases[].invoice_settings](/api/subscription_schedules/object?api-version=2026-07-29.dahlia#subscription_schedule_object-phases-invoice_settings), [SubscriptionSchedule.update().$params.default_setting.invoice_setting](/api/subscription_schedules/update?api-version=2026-07-29.dahlia#update_subscription_schedule-default_settings-invoice_settings), [SubscriptionSchedule.update().$params.phase.invoice_setting](/api/subscription_schedules/update?api-version=2026-07-29.dahlia#update_subscription_schedule-phases-invoice_settings) |

#### Java

| Parameters | Change | Resources or methods |
| --- | --- | --- |
| `customFields`, `description`, `footer` | Added | [Quote.invoice_settings](/api/quotes/object?api-version=2026-07-29.dahlia#quote_object-invoice_settings), [QuoteCreateParams.invoice_settings](/api/quotes/create?api-version=2026-07-29.dahlia#create_quote-invoice_settings), [QuoteUpdateParams.invoice_settings](/api/quotes/update?api-version=2026-07-29.dahlia#update_quote-invoice_settings), [SubscriptionSchedule.default_settings.invoice_settings](/api/subscription_schedules/object?api-version=2026-07-29.dahlia#subscription_schedule_object-default_settings-invoice_settings), [SubscriptionSchedule.phases[].invoice_settings](/api/subscription_schedules/object?api-version=2026-07-29.dahlia#subscription_schedule_object-phases-invoice_settings), [SubscriptionScheduleCreateParams.default_settings.invoice_settings](/api/subscription_schedules/create?api-version=2026-07-29.dahlia#create_subscription_schedule-default_settings-invoice_settings), [SubscriptionScheduleCreateParams.phases[].invoice_settings](/api/subscription_schedules/create?api-version=2026-07-29.dahlia#create_subscription_schedule-phases-invoice_settings), [SubscriptionScheduleUpdateParams.default_settings.invoice_settings](/api/subscription_schedules/update?api-version=2026-07-29.dahlia#update_subscription_schedule-default_settings-invoice_settings), [SubscriptionScheduleUpdateParams.phases[].invoice_settings](/api/subscription_schedules/update?api-version=2026-07-29.dahlia#update_subscription_schedule-phases-invoice_settings) |

#### Node.js

| Parameters | Change | Resources or methods |
| --- | --- | --- |
| `custom_fields`, `description`, `footer` | Added | [Quote.invoice_settings](/api/quotes/object?api-version=2026-07-29.dahlia#quote_object-invoice_settings), [QuoteCreateParams.invoice_settings](/api/quotes/create?api-version=2026-07-29.dahlia#create_quote-invoice_settings), [QuoteUpdateParams.invoice_settings](/api/quotes/update?api-version=2026-07-29.dahlia#update_quote-invoice_settings), [SubscriptionSchedule.default_settings.invoice_settings](/api/subscription_schedules/object?api-version=2026-07-29.dahlia#subscription_schedule_object-default_settings-invoice_settings), [SubscriptionSchedule.phases[].invoice_settings](/api/subscription_schedules/object?api-version=2026-07-29.dahlia#subscription_schedule_object-phases-invoice_settings), [SubscriptionScheduleCreateParams.default_settings.invoice_settings](/api/subscription_schedules/create?api-version=2026-07-29.dahlia#create_subscription_schedule-default_settings-invoice_settings), [SubscriptionScheduleCreateParams.phases[].invoice_settings](/api/subscription_schedules/create?api-version=2026-07-29.dahlia#create_subscription_schedule-phases-invoice_settings), [SubscriptionScheduleUpdateParams.default_settings.invoice_settings](/api/subscription_schedules/update?api-version=2026-07-29.dahlia#update_subscription_schedule-default_settings-invoice_settings), [SubscriptionScheduleUpdateParams.phases[].invoice_settings](/api/subscription_schedules/update?api-version=2026-07-29.dahlia#update_subscription_schedule-phases-invoice_settings) |

#### Go

| Parameters | Change | Resources or methods |
| --- | --- | --- |
| `CustomFields`, `Description`, `Footer` | Added | [QuoteInvoiceSettings](/api/quotes/object?api-version=2026-07-29.dahlia#quote_object-invoice_settings), [QuoteCreateInvoiceSettingsParams](/api/quotes/create?api-version=2026-07-29.dahlia#create_quote-invoice_settings), [QuoteUpdateInvoiceSettingsParams](/api/quotes/update?api-version=2026-07-29.dahlia#update_quote-invoice_settings), [SubscriptionScheduleDefaultSettingsInvoiceSettings](/api/subscription_schedules/object?api-version=2026-07-29.dahlia#subscription_schedule_object-default_settings-invoice_settings), [SubscriptionScheduleCreateDefaultSettingsInvoiceSettingsParams](/api/subscription_schedules/create?api-version=2026-07-29.dahlia#create_subscription_schedule-default_settings-invoice_settings), [SubscriptionScheduleUpdateDefaultSettingsInvoiceSettingsParams](/api/subscription_schedules/update?api-version=2026-07-29.dahlia#update_subscription_schedule-default_settings-invoice_settings), [SubscriptionSchedulePhaseInvoiceSettings](/api/subscription_schedules/object?api-version=2026-07-29.dahlia#subscription_schedule_object-phases-invoice_settings), [SubscriptionScheduleCreatePhaseInvoiceSettingsParams](/api/subscription_schedules/create?api-version=2026-07-29.dahlia#create_subscription_schedule-phases-invoice_settings), [SubscriptionScheduleUpdatePhaseInvoiceSettingsParams](/api/subscription_schedules/update?api-version=2026-07-29.dahlia#update_subscription_schedule-phases-invoice_settings) |

#### .NET

| Parameters | Change | Resources or methods |
| --- | --- | --- |
| `CustomFields`, `Description`, `Footer` | Added | [Quote.InvoiceSettings](/api/quotes/object?api-version=2026-07-29.dahlia#quote_object-invoice_settings), [QuoteInvoiceSettingsOptions](/api/quotes/create?api-version=2026-07-29.dahlia#create_quote-invoice_settings), [QuoteInvoiceSettingsOptions](/api/quotes/update?api-version=2026-07-29.dahlia#update_quote-invoice_settings), [SubscriptionSchedule.DefaultSettings.InvoiceSettings](/api/subscription_schedules/object?api-version=2026-07-29.dahlia#subscription_schedule_object-default_settings-invoice_settings), [SubscriptionSchedule.Phase.InvoiceSettings](/api/subscription_schedules/object?api-version=2026-07-29.dahlia#subscription_schedule_object-phases-invoice_settings), [SubscriptionScheduleDefaultSettingsInvoiceSettingsOptions](/api/subscription_schedules/create?api-version=2026-07-29.dahlia#create_subscription_schedule-default_settings-invoice_settings), [SubscriptionScheduleDefaultSettingsInvoiceSettingsOptions](/api/subscription_schedules/update?api-version=2026-07-29.dahlia#update_subscription_schedule-default_settings-invoice_settings), [SubscriptionSchedulePhaseInvoiceSettingsOptions](/api/subscription_schedules/create?api-version=2026-07-29.dahlia#create_subscription_schedule-phases-invoice_settings), [SubscriptionSchedulePhaseInvoiceSettingsOptions](/api/subscription_schedules/update?api-version=2026-07-29.dahlia#update_subscription_schedule-phases-invoice_settings) |

## 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.
2. 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-07-29.dahlia`
3. Upgrade the API version used for [webhook endpoints](https://docs.stripe.com/webhooks/versioning.md).
4. [Test your integration](https://docs.stripe.com/testing.md) against the new version.
5. If you use Connect, [test your Connect integration](https://docs.stripe.com/connect/testing.md).
6. 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.
2. Upgrade your Ruby SDK to the latest version.
3. Upgrade the API version used for [webhook endpoints](https://docs.stripe.com/webhooks/versioning.md).
4. [Test your integration](https://docs.stripe.com/testing.md) against the new version.
5. If you use Connect, [test your Connect integration](https://docs.stripe.com/connect/testing.md).
6. 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.
2. Upgrade your Python SDK to the latest version.
3. Upgrade the API version used for [webhook endpoints](https://docs.stripe.com/webhooks/versioning.md).
4. [Test your integration](https://docs.stripe.com/testing.md) against the new version.
5. If you use Connect, [test your Connect integration](https://docs.stripe.com/connect/testing.md).
6. 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.
2. Upgrade your PHP SDK to the latest version.
3. Upgrade the API version used for [webhook endpoints](https://docs.stripe.com/webhooks/versioning.md).
4. [Test your integration](https://docs.stripe.com/testing.md) against the new version.
5. If you use Connect, [test your Connect integration](https://docs.stripe.com/connect/testing.md).
6. 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.
2. Upgrade your Java SDK to the latest version.
3. Upgrade the API version used for [webhook endpoints](https://docs.stripe.com/webhooks/versioning.md).
4. [Test your integration](https://docs.stripe.com/testing.md) against the new version.
5. If you use Connect, [test your Connect integration](https://docs.stripe.com/connect/testing.md).
6. 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.
2. Upgrade your Node SDK to the latest version.
3. Upgrade the API version used for [webhook endpoints](https://docs.stripe.com/webhooks/versioning.md).
4. [Test your integration](https://docs.stripe.com/testing.md) against the new version.
5. If you use Connect, [test your Connect integration](https://docs.stripe.com/connect/testing.md).
6. 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.
2. Upgrade your Go SDK to the latest version.
3. Upgrade the API version used for [webhook endpoints](https://docs.stripe.com/webhooks/versioning.md).
4. [Test your integration](https://docs.stripe.com/testing.md) against the new version.
5. If you use Connect, [test your Connect integration](https://docs.stripe.com/connect/testing.md).
6. 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.
2. Upgrade your .NET SDK to the latest version.
3. Upgrade the API version used for [webhook endpoints](https://docs.stripe.com/webhooks/versioning.md).
4. [Test your integration](https://docs.stripe.com/testing.md) against the new version.
5. If you use Connect, [test your Connect integration](https://docs.stripe.com/connect/testing.md).
6. 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 subscription metadata support to invoice previews](https://docs.stripe.com/changelog/dahlia/2026-07-29/adds-subscription-metadata-support-to-invoice-preview.md)
- [Adds the trial property to subscription schedule phases](https://docs.stripe.com/changelog/dahlia/2026-07-29/subscription-schedule-phases-trial-property.md)
- [Adds item-level discount support for pending updates](https://docs.stripe.com/changelog/dahlia/2026-07-29/item-level-discounts-for-pending-updates.md)
