# Replaces top-level tax-related properties with improved tax modeling on Invoices, Invoice Line Items, and Credit Note Line Items

## What’s new

We’re introducing a new [taxes](https://docs.stripe.com/api/invoice-line-item/object.md?api-version=2025-03-31.basil#invoice_line_item_object-taxes) concept on [Invoice Line Items](https://docs.stripe.com/api/invoice-line-item/object.md?api-version=2025-03-31.basil) and [Credit Note Line Items](https://docs.stripe.com/api/credit_notes/line_item.md?api-version=2025-03-31.basil) that contains tax-related data and unifies the structure of tax objects in preparation for adding new types of tax objects. This replaces the top-level tax-related properties on the Invoice Line Item and Credit Note Line Item objects.

We’re also introducing a new [total_taxes](https://docs.stripe.com/api/invoices/object.md?api-version=2025-03-31.basil#invoice_object-total_taxes) property on the [Invoice](https://docs.stripe.com/api/invoices/object.md?api-version=2025-03-31.basil) and [Credit Note](https://docs.stripe.com/api/credit_notes/object.md?api-version=2025-03-31.basil) objects for aggregated tax information.

## Why is this a breaking change?

- `tax_rates` and `tax_amounts` are no longer available on the Invoice Line Item and Credit Note Line Item objects.
- `total_tax_amounts` is no longer available on the Invoice object.

## Impact

[Tax Rate](https://docs.stripe.com/billing/taxes/tax-rates.md) IDs on Invoice Line Items and Credit Note Line Items are now nested inside the new `taxes` property:

- Replace `line_item.tax_rates[0]` with `line_item.taxes[0].tax_rate_details.tax_rate` (after verifying that `line_item.taxes[0].type` is `tax_rate_details`)
- Replace `line_item.tax_amounts[0].amount` with `line_item.taxes[0].amount`

Tax totals on Invoices and Credit Notes are now stored in `total_taxes`:

- Replace `invoice.total_tax_amounts[0].amount` with `invoice.total_taxes[0].amount` (after verifying that `invoice.total_taxes[0].type` is `tax_rate_details`)

## Changes

#### REST API

| Parameters                                          | Change  | Resources or endpoints                                                                                                                                                                                                      |
| --------------------------------------------------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `tax_amounts`                                       | Removed | [CreditNote](/api/credit_notes/object?api-version=2025-03-31.basil), [CreditNoteLineItem](/api/credit_notes/line_item?api-version=2025-03-31.basil), [InvoiceLineItem](/api/invoice-line-item?api-version=2025-03-31.basil) |
| `amount_excluding_tax`, `unit_amount_excluding_tax` | Removed | [CreditNoteLineItem](/api/credit_notes/line_item?api-version=2025-03-31.basil), [InvoiceLineItem](/api/invoice-line-item?api-version=2025-03-31.basil)                                                                      |
| `tax_rates`                                         | Removed | [InvoiceLineItem](/api/invoice-line-item?api-version=2025-03-31.basil)                                                                                                                                                      |
| `tax`, `total_tax_amounts`                          | Removed | [Invoice](/api/invoices/object?api-version=2025-03-31.basil)                                                                                                                                                                |
| `total_taxes`                                       | Added   | [CreditNote](/api/credit_notes/object?api-version=2025-03-31.basil), [Invoice](/api/invoices/object?api-version=2025-03-31.basil)                                                                                           |
| `taxes`                                             | Added   | [CreditNoteLineItem](/api/credit_notes/line_item?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                                                                                                                                   |
| -------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `tax_amounts`              | Removed | [stripe.CreditNote](/api/credit_notes/object?api-version=2025-03-31.basil)                                                                             |
| `tax`, `total_tax_amounts` | Removed | [Invoice](/api/invoices/object?api-version=2025-03-31.basil)                                                                                           |
| `total_taxes`              | Added   | [CreditNote](/api/credit_notes/object?api-version=2025-03-31.basil), [Invoice](/api/invoices/object?api-version=2025-03-31.basil)                      |
| `taxes`                    | Added   | [CreditNoteLineItem](/api/credit_notes/line_item?api-version=2025-03-31.basil), [InvoiceLineItem](/api/invoice-line-item?api-version=2025-03-31.basil) |

#### PHP

| Parameters                                          | Change  | Resources or methods                                                                                                                                                                                                        |
| --------------------------------------------------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `tax_amounts`                                       | Removed | [CreditNote](/api/credit_notes/object?api-version=2025-03-31.basil), [CreditNoteLineItem](/api/credit_notes/line_item?api-version=2025-03-31.basil), [InvoiceLineItem](/api/invoice-line-item?api-version=2025-03-31.basil) |
| `amount_excluding_tax`, `unit_amount_excluding_tax` | Removed | [CreditNoteLineItem](/api/credit_notes/line_item?api-version=2025-03-31.basil), [InvoiceLineItem](/api/invoice-line-item?api-version=2025-03-31.basil)                                                                      |
| `tax_rates`                                         | Removed | [InvoiceLineItem](/api/invoice-line-item?api-version=2025-03-31.basil)                                                                                                                                                      |
| `tax`, `total_tax_amounts`                          | Removed | [Invoice](/api/invoices/object?api-version=2025-03-31.basil)                                                                                                                                                                |
| `total_taxes`                                       | Added   | [CreditNote](/api/credit_notes/object?api-version=2025-03-31.basil), [Invoice](/api/invoices/object?api-version=2025-03-31.basil)                                                                                           |
| `taxes`                                             | Added   | [CreditNoteLineItem](/api/credit_notes/line_item?api-version=2025-03-31.basil), [InvoiceLineItem](/api/invoice-line-item?api-version=2025-03-31.basil)                                                                      |

#### Java

| Parameters                                          | Change  | Resources or methods                                                                                                                                                                                                        |
| --------------------------------------------------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `tax_amounts`                                       | Removed | [CreditNote](/api/credit_notes/object?api-version=2025-03-31.basil), [CreditNoteLineItem](/api/credit_notes/line_item?api-version=2025-03-31.basil), [InvoiceLineItem](/api/invoice-line-item?api-version=2025-03-31.basil) |
| `amount_excluding_tax`, `unit_amount_excluding_tax` | Removed | [CreditNoteLineItem](/api/credit_notes/line_item?api-version=2025-03-31.basil), [InvoiceLineItem](/api/invoice-line-item?api-version=2025-03-31.basil)                                                                      |
| `tax_rates`                                         | Removed | [InvoiceLineItem](/api/invoice-line-item?api-version=2025-03-31.basil)                                                                                                                                                      |
| `tax`, `totalTaxAmounts`                            | Removed | [Invoice](/api/invoices/object?api-version=2025-03-31.basil)                                                                                                                                                                |
| `totalTaxes`                                        | Added   | [CreditNote](/api/credit_notes/object?api-version=2025-03-31.basil), [Invoice](/api/invoices/object?api-version=2025-03-31.basil)                                                                                           |
| `taxes`                                             | Added   | [CreditNoteLineItem](/api/credit_notes/line_item?api-version=2025-03-31.basil), [InvoiceLineItem](/api/invoice-line-item?api-version=2025-03-31.basil)                                                                      |

#### Node.js

| Parameters                                          | Change  | Resources or methods                                                                                                                                                                                                        |
| --------------------------------------------------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `tax_amounts`                                       | Removed | [CreditNote](/api/credit_notes/object?api-version=2025-03-31.basil), [CreditNoteLineItem](/api/credit_notes/line_item?api-version=2025-03-31.basil), [InvoiceLineItem](/api/invoice-line-item?api-version=2025-03-31.basil) |
| `amount_excluding_tax`, `unit_amount_excluding_tax` | Removed | [CreditNoteLineItem](/api/credit_notes/line_item?api-version=2025-03-31.basil), [InvoiceLineItem](/api/invoice-line-item?api-version=2025-03-31.basil)                                                                      |
| `tax_rates`                                         | Removed | [InvoiceLineItem](/api/invoice-line-item?api-version=2025-03-31.basil)                                                                                                                                                      |
| `tax`, `total_tax_amounts`                          | Removed | [Invoice](/api/invoices/object?api-version=2025-03-31.basil)                                                                                                                                                                |
| `total_taxes`                                       | Added   | [CreditNote](/api/credit_notes/object?api-version=2025-03-31.basil), [Invoice](/api/invoices/object?api-version=2025-03-31.basil)                                                                                           |
| `taxes`                                             | Added   | [CreditNoteLineItem](/api/credit_notes/line_item?api-version=2025-03-31.basil), [InvoiceLineItem](/api/invoice-line-item?api-version=2025-03-31.basil)                                                                      |

#### Go

| Parameters                                     | Change  | Resources or methods                                                                                                                                                                                                        |
| ---------------------------------------------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `TaxAmounts`                                   | Removed | [CreditNote](/api/credit_notes/object?api-version=2025-03-31.basil), [CreditNoteLineItem](/api/credit_notes/line_item?api-version=2025-03-31.basil), [InvoiceLineItem](/api/invoice-line-item?api-version=2025-03-31.basil) |
| `AmountExcludingTax`, `UnitAmountExcludingTax` | Removed | [CreditNoteLineItem](/api/credit_notes/line_item?api-version=2025-03-31.basil), [InvoiceLineItem](/api/invoice-line-item?api-version=2025-03-31.basil)                                                                      |
| `TaxRates`                                     | Removed | [InvoiceLineItem](/api/invoice-line-item?api-version=2025-03-31.basil)                                                                                                                                                      |
| `Tax`, `TotalTaxAmounts`                       | Removed | [Invoice](/api/invoices/object?api-version=2025-03-31.basil)                                                                                                                                                                |
| `TotalTaxes`                                   | Added   | [CreditNote](/api/credit_notes/object?api-version=2025-03-31.basil), [Invoice](/api/invoices/object?api-version=2025-03-31.basil)                                                                                           |
| `Taxes`                                        | Added   | [CreditNoteLineItem](/api/credit_notes/line_item?api-version=2025-03-31.basil), [InvoiceLineItem](/api/invoice-line-item?api-version=2025-03-31.basil)                                                                      |

#### .NET

| Parameters                                     | Change  | Resources or methods                                                                                                                                                                                                        |
| ---------------------------------------------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `TaxAmounts`                                   | Removed | [CreditNote](/api/credit_notes/object?api-version=2025-03-31.basil), [CreditNoteLineItem](/api/credit_notes/line_item?api-version=2025-03-31.basil), [InvoiceLineItem](/api/invoice-line-item?api-version=2025-03-31.basil) |
| `AmountExcludingTax`, `UnitAmountExcludingTax` | Removed | [CreditNoteLineItem](/api/credit_notes/line_item?api-version=2025-03-31.basil), [InvoiceLineItem](/api/invoice-line-item?api-version=2025-03-31.basil)                                                                      |
| `TaxRates`                                     | Removed | [InvoiceLineItem](/api/invoice-line-item?api-version=2025-03-31.basil)                                                                                                                                                      |
| `Tax`, `TotalTaxAmounts`                       | Removed | [Invoice](/api/invoices/object?api-version=2025-03-31.basil)                                                                                                                                                                |
| `TotalTaxes`                                   | Added   | [CreditNote](/api/credit_notes/object?api-version=2025-03-31.basil), [Invoice](/api/invoices/object?api-version=2025-03-31.basil)                                                                                           |
| `Taxes`                                        | Added   | [CreditNoteLineItem](/api/credit_notes/line_item?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

- [Replaces top-level price fields with improved price modeling on Invoice Items and Invoice Line Items](https://docs.stripe.com/changelog/basil/2025-03-31/invoice-pricing-configurations.md)
- [Adds support for multiple (partial) payments on invoices](https://docs.stripe.com/changelog/basil/2025-03-31/add-support-for-multiple-partial-payments-on-invoices.md)
- [Adds jurisdiction level and taxability reason to manual tax amounts on invoices](https://docs.stripe.com/changelog/basil/2025-03-31/invoice-manual-tax-amount-fields.md)
