# Invoicing resources now specify how they were generated ## What’s new We’re introducing a new `parent` field on [invoices](https://docs.stripe.com/api/invoices.md?api-version=2025-03-31.basil), [invoice items](https://docs.stripe.com/api/invoiceitems.md?api-version=2025-03-31.basil), and [invoice line items](https://docs.stripe.com/api/invoice-line-item.md?api-version=2025-03-31.basil). The `parent` field allows you to view the details of the upstream object that generated the `invoice`, `invoice item`, or `invoice line item` (such as a subscription, a quote, or other). It replaces top level fields that we previously used to reference these objects. ## Why is this a breaking change? - On the [Invoice](https://docs.stripe.com/api/invoices.md?api-version=2025-03-31.basil) object, we deprecated the `quote`, `subscription`, `subscription_details`, and `subscription_proration_date` fields. - On the [Invoice Item](https://docs.stripe.com/api/invoiceitems.md?api-version=2025-03-31.basil) object, we deprecated the `subscription_item` and `subscription` fields. - On the [Invoice Line Item](https://docs.stripe.com/api/invoice-line-item.md?api-version=2025-03-31.basil) object, we deprecated the `type`, `subscription`, `subscription_item`, `invoice_item`, `proration`, and `proration_details` fields. ## Impact Replace field references on invoicing objects with their new locations in the `parent` field. On [Invoice](https://docs.stripe.com/api/invoices.md?api-version=2025-03-31.basil) objects: - Use `invoice.parent.subscription_details.subscription` (verify `invoice.parent.type` is `subscription_details`) instead of `invoice.subscription`. - This also applies to: - `quote` - `subscription_details` - `subscription_proration_date` On [Invoice Item](https://docs.stripe.com/api/invoiceitems.md?api-version=2025-03-31.basil) objects: - Use `invoiceitem.parent.subscription_details.subscription` (verify `invoiceitem.parent.type` is `subscription_details`) instead of `invoice_item.subscription` - This also applies to the `subscription_item` field On [Invoice Line Item](https://docs.stripe.com/api/invoice-line-item.md?api-version=2025-03-31.basil) objects: - Use `line_item.parent.subscription_item_details.subscription_item` (verify `line_item.parent.type` is `subscription_item_details`) instead of `line_item.subscription_item`. - This also applies to: - `subscription` - `invoice_item` - `proration` - `proration_details` ## Changes #### REST API | Parameters | Change | Resources or endpoints | | --------------------------------------------------------------------------------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `subscription`, `subscription_item` | Removed | [InvoiceItem](/api/invoiceitems/object?api-version=2025-03-31.basil) | | `quote`, `subscription`, `subscription_details`, `subscription_proration_date` | Removed | [Invoice](/api/invoices/object?api-version=2025-03-31.basil) | | `invoice_item`, `proration`, `proration_details`, `subscription`, `subscription_item`, `type` | Removed | [InvoiceLineItem](/api/invoice-line-item?api-version=2025-03-31.basil) | | `parent` | Added | [Invoice](/api/invoices/object?api-version=2025-03-31.basil), [InvoiceItem](/api/invoiceitems/object?api-version=2025-03-31.basil), [InvoiceLineItem](/api/invoice-line-item?api-version=2025-03-31.basil) | #### Ruby This change does not affect the Ruby SDK. #### Python | Parameters | Change | Resources or methods | | --------------------------------------------------------------------------------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `subscription`, `subscription_item` | Removed | [InvoiceItem](/api/invoiceitems/object?api-version=2025-03-31.basil) | | `quote`, `subscription`, `subscription_details`, `subscription_proration_date` | Removed | [Invoice](/api/invoices/object?api-version=2025-03-31.basil) | | `invoice_item`, `proration`, `proration_details`, `subscription`, `subscription_item`, `type` | Removed | [InvoiceLineItem](/api/invoice-line-item?api-version=2025-03-31.basil) | | `parent` | Added | [Invoice](/api/invoices/object?api-version=2025-03-31.basil), [InvoiceItem](/api/invoiceitems/object?api-version=2025-03-31.basil), [InvoiceLineItem](/api/invoice-line-item?api-version=2025-03-31.basil) | #### PHP | Parameters | Change | Resources or methods | | --------------------------------------------------------------------------------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `subscription`, `subscription_item` | Removed | [InvoiceItem](/api/invoiceitems/object?api-version=2025-03-31.basil) | | `quote`, `subscription`, `subscription_details`, `subscription_proration_date` | Removed | [Invoice](/api/invoices/object?api-version=2025-03-31.basil) | | `invoice_item`, `proration`, `proration_details`, `subscription`, `subscription_item`, `type` | Removed | [InvoiceLineItem](/api/invoice-line-item?api-version=2025-03-31.basil) | | `parent` | Added | [Invoice](/api/invoices/object?api-version=2025-03-31.basil), [InvoiceItem](/api/invoiceitems/object?api-version=2025-03-31.basil), [InvoiceLineItem](/api/invoice-line-item?api-version=2025-03-31.basil) | #### Java | Parameters | Change | Resources or methods | | ------------------------------------------------------------------------------------------ | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `subscription`, `subscriptionItem` | Removed | [InvoiceItem](/api/invoiceitems/object?api-version=2025-03-31.basil) | | `quote`, `subscription`, `subscriptionDetails`, `subscriptionProrationDate` | Removed | [Invoice](/api/invoices/object?api-version=2025-03-31.basil) | | `invoiceItem`, `proration`, `prorationDetails`, `subscription`, `subscriptionItem`, `type` | Removed | [InvoiceLineItem](/api/invoice-line-item?api-version=2025-03-31.basil) | | `parent` | Added | [Invoice](/api/invoices/object?api-version=2025-03-31.basil), [InvoiceItem](/api/invoiceitems/object?api-version=2025-03-31.basil), [InvoiceLineItem](/api/invoice-line-item?api-version=2025-03-31.basil) | #### Node.js | Parameters | Change | Resources or methods | | --------------------------------------------------------------------------------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `subscription`, `subscription_item` | Removed | [InvoiceItem](/api/invoiceitems/object?api-version=2025-03-31.basil) | | `quote`, `subscription`, `subscription_details`, `subscription_proration_date` | Removed | [Invoice](/api/invoices/object?api-version=2025-03-31.basil) | | `invoice_item`, `proration`, `proration_details`, `subscription`, `subscription_item`, `type` | Removed | [InvoiceLineItem](/api/invoice-line-item?api-version=2025-03-31.basil) | | `parent` | Added | [Invoice](/api/invoices/object?api-version=2025-03-31.basil), [InvoiceItem](/api/invoiceitems/object?api-version=2025-03-31.basil), [InvoiceLineItem](/api/invoice-line-item?api-version=2025-03-31.basil) | #### Go | Parameters | Change | Resources or methods | | ------------------------------------------------------------------------------------------ | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `Subscription`, `SubscriptionItem` | Removed | [InvoiceItem](/api/invoiceitems/object?api-version=2025-03-31.basil) | | `Quote`, `Subscription`, `SubscriptionDetails`, `SubscriptionProrationDate` | Removed | [Invoice](/api/invoices/object?api-version=2025-03-31.basil) | | `InvoiceItem`, `Proration`, `ProrationDetails`, `Subscription`, `SubscriptionItem`, `Type` | Removed | [InvoiceLineItem](/api/invoice-line-item?api-version=2025-03-31.basil) | | `Parent` | Added | [Invoice](/api/invoices/object?api-version=2025-03-31.basil), [InvoiceItem](/api/invoiceitems/object?api-version=2025-03-31.basil), [InvoiceLineItem](/api/invoice-line-item?api-version=2025-03-31.basil) | #### .NET | Parameters | Change | Resources or methods | | ------------------------------------------------------------------------------------------ | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `Subscription`, `SubscriptionItem` | Removed | [InvoiceItem](/api/invoiceitems/object?api-version=2025-03-31.basil) | | `Quote`, `Subscription`, `SubscriptionDetails`, `SubscriptionProrationDate` | Removed | [Invoice](/api/invoices/object?api-version=2025-03-31.basil) | | `InvoiceItem`, `Proration`, `ProrationDetails`, `Subscription`, `SubscriptionItem`, `Type` | Removed | [InvoiceLineItem](/api/invoice-line-item?api-version=2025-03-31.basil) | | `Parent` | Added | [Invoice](/api/invoices/object?api-version=2025-03-31.basil), [InvoiceItem](/api/invoiceitems/object?api-version=2025-03-31.basil), [InvoiceLineItem](/api/invoice-line-item?api-version=2025-03-31.basil) | ## 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: 2025-03-31.basil` 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 [v15.0.0](https://github.com/stripe/stripe-ruby/releases/tag/v15.0.0) 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 [v12.0.0](https://github.com/stripe/stripe-python/releases/tag/v12.0.0) 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 [v17.0.0](https://github.com/stripe/stripe-php/releases/tag/v17.0.0) 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 [v29.0.0](https://github.com/stripe/stripe-java/releases/tag/v29.0.0) 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 [v18.0.0](https://github.com/stripe/stripe-node/releases/tag/v18.0.0) 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 [v82.0.0](https://github.com/stripe/stripe-go/releases/tag/v82.0.0) 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 [v48.0.0](https://github.com/stripe/stripe-dotnet/releases/tag/v48.0.0) 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 subscription item-level billing periods and removes subscription-level periods](https://docs.stripe.com/changelog/basil/2025-03-31/deprecate-subscription-current-period-start-and-end.md) - [Adds support for last aggregation formula on meters](https://docs.stripe.com/changelog/basil/2025-03-31/meters-last-agg-formula.md) - [Adds new webhook event types for Billing Meters](https://docs.stripe.com/changelog/basil/2025-03-31/billing-meter-webhooks.md) - [Adds new webhook event types for billing credits](https://docs.stripe.com/changelog/basil/2025-03-31/billing-credit-webhooks.md)