Update an invoice item 

Updates the amount or description of an invoice item on an upcoming invoice. Updating an invoice item is only possible before the invoice it’s attached to is closed.

Parameters

  • amountinteger

    The integer amount in cents of the charge to be applied to the upcoming invoice. If you want to apply a credit to the customer’s account, pass a negative amount.

  • descriptionstring

    An arbitrary string which you can attach to the invoice item. The description is displayed in the invoice for easy tracking.

  • metadataobject

    Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

  • periodobject

    The period associated with this invoice item. When set to different values, the period will be rendered on the invoice. If you have Stripe Revenue Recognition enabled, the period will be used to recognize and defer revenue. See the Revenue Recognition documentation for details.

  • pricingobject

    The pricing information for the invoice item.

More parameters

  • discountableboolean

  • discountsarray of objects

  • price_dataobject

  • quantityinteger

  • tax_behaviorenumRecommended if calculating taxes

  • tax_codestringRecommended if calculating taxes

  • tax_ratesarray of strings

  • unit_amount_decimalstring

Returns

The updated invoice item object is returned upon success. Otherwise, this call raises an error.

POST /v1/invoiceitems/:id
curl https://api.stripe.com/v1/invoiceitems/ii_1MtGUtLkdIwHu7ixBYwjAM00 \
-u "sk_test_BQokikJ...2HlWgH4olfQ2sk_test_BQokikJOvBiI2HlWgH4olfQ2:" \
-d "metadata[order_id]"=6735
Response
{
"id": "ii_1MtGUtLkdIwHu7ixBYwjAM00",
"object": "invoiceitem",
"amount": 1099,
"currency": "usd",
"customer": "cus_NeZei8imSbMVvi",
"date": 1680640231,
"description": "T-shirt",
"discountable": true,
"discounts": [],
"invoice": null,
"livemode": false,
"metadata": {
"order_id": "6735"
},
"parent": null,
"period": {
"end": 1680640231,
"start": 1680640231
},
"pricing": {
"price_details": {
"price": "price_1MtGUsLkdIwHu7ix1be5Ljaj",
"product": "prod_NeZe7xbBdJT8EN"
},
"type": "price_details",
"unit_amount_decimal": "1099"
},
"proration": false,
"quantity": 1,
"tax_rates": [],
"test_clock": null
}

Retrieve an invoice item 

Retrieves the invoice item with the given ID.

Parameters

No parameters.

Returns

Returns an invoice item if a valid invoice item ID was provided. Raises an error otherwise.

GET /v1/invoiceitems/:id
curl https://api.stripe.com/v1/invoiceitems/ii_1MtGUtLkdIwHu7ixBYwjAM00 \
-u "sk_test_BQokikJ...2HlWgH4olfQ2sk_test_BQokikJOvBiI2HlWgH4olfQ2:"
Response
{
"id": "ii_1MtGUtLkdIwHu7ixBYwjAM00",
"object": "invoiceitem",
"amount": 1099,
"currency": "usd",
"customer": "cus_NeZei8imSbMVvi",
"date": 1680640231,
"description": "T-shirt",
"discountable": true,
"discounts": [],
"invoice": null,
"livemode": false,
"metadata": {},
"parent": null,
"period": {
"end": 1680640231,
"start": 1680640231
},
"pricing": {
"price_details": {
"price": "price_1MtGUsLkdIwHu7ix1be5Ljaj",
"product": "prod_NeZe7xbBdJT8EN"
},
"type": "price_details",
"unit_amount_decimal": "1099"
},
"proration": false,
"quantity": 1,
"tax_rates": [],
"test_clock": null
}

List all invoice items 

Returns a list of your invoice items. Invoice items are returned sorted by creation date, with the most recently created invoice items appearing first.

Parameters

  • customerstring

    The identifier of the customer whose invoice items to return. If none is provided, all invoice items will be returned.

More parameters

  • createdobject

  • ending_beforestring

  • invoicestring

  • limitinteger

  • pendingboolean

  • starting_afterstring

Returns

A dictionary with a data property that contains an array of up to limit invoice items, starting after invoice item starting_after. Each entry in the array is a separate invoice item object. If no more invoice items are available, the resulting array will be empty.

GET /v1/invoiceitems
curl -G https://api.stripe.com/v1/invoiceitems \
-u "sk_test_BQokikJ...2HlWgH4olfQ2sk_test_BQokikJOvBiI2HlWgH4olfQ2:" \
-d limit=3
Response
{
"object": "list",
"url": "/v1/invoiceitems",
"has_more": false,
"data": [
{
"id": "ii_1MtGUtLkdIwHu7ixBYwjAM00",
"object": "invoiceitem",
"amount": 1099,
"currency": "usd",
"customer": "cus_NeZei8imSbMVvi",
"date": 1680640231,
"description": "T-shirt",
"discountable": true,
"discounts": [],
"invoice": null,
"livemode": false,
"metadata": {},
"parent": null,
"period": {
"end": 1680640231,
"start": 1680640231
},
"pricing": {
"price_details": {
"price": "price_1MtGUsLkdIwHu7ix1be5Ljaj",
"product": "prod_NeZe7xbBdJT8EN"
},
"type": "price_details",
"unit_amount_decimal": "1099"
},
"proration": false,
"quantity": 1,
"tax_rates": [],
"test_clock": null
}
]
}

Delete an invoice item 

Deletes an invoice item, removing it from an invoice. Deleting invoice items is only possible when they’re not attached to invoices, or if it’s attached to a draft invoice.

Parameters

No parameters.

Returns

An object with the deleted invoice item’s ID and a deleted flag upon success. Otherwise, this call raises an error, such as if the invoice item has already been deleted.

DELETE /v1/invoiceitems/:id
curl -X DELETE https://api.stripe.com/v1/invoiceitems/ii_1MtGUtLkdIwHu7ixBYwjAM00 \
-u "sk_test_BQokikJ...2HlWgH4olfQ2sk_test_BQokikJOvBiI2HlWgH4olfQ2:"
Response
{
"id": "ii_1MtGUtLkdIwHu7ixBYwjAM00",
"object": "invoiceitem",
"deleted": true
}

Invoice Line Item 

Invoice Line Items represent the individual lines within an invoice and only exist within the context of an invoice.

Each line item is backed by either an invoice item or a subscription item.