Breaking changes
Standardises invoice line item IDs Breaking changes
What’s new
Changes the id field of all invoice line items, prefixing them with il_. The new ID has consistent prefixes across all line items, is globally unique, and can be used for pagination. Old prefixes included sub_, su_, item_, sli_ and ii_ and weren`t globally unique.
- You can no longer use the prefix of the ID to determine the source of the line item. Instead, use the type field for this purpose.
- For lines with type=invoiceitem , use the invoice _ item field to reference or update the originating Invoice Item object.
- On earlier API versions, the Invoice Line Item object also has a unique _ id field that you can use to migrate internal references before upgrading to this version.
- When setting a tax rate to individual line items , use the new id . If you’re on an earlier API version, pass in either a line item id or unique _ id .
Impact
Lets you work with a more consistent and globally unique invoice line item ID format. The new IDs are prefixed with “il_” instead of various legacy prefixes, providing a standardised approach across all line items.
Changes
| Parameter | Change | Resources or endpoints |
|---|---|---|
| id | Changed | InvoiceLineItem |
Upgrade
- View your current API version in Workbench.
- 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 to include Stripe-Version: 2019-12-03
- Upgrade the API version used for webhook endpoints .
- Test your integration against the new version.
- If you use Connect, test your Connect integration .
Learn more about Stripe API upgrades.