Stripe | Financial Infrastructure to Grow Your Revenue

Stripe | Financial Infrastructure to Grow Your Revenue

4466 articles

Create an invoice item


Create an invoice item

POST / v1 / invoiceitems

Creates an item to be added to a draft invoice (up to 250 items per invoice). If no invoice is specified, the item will be on the next invoice created for the customer specified.

Parameters

  • amount integer The integer amount in the smallest currency unit of the charge to be applied to the upcoming invoice. Passing in a negative amount will reduce the amount_due on the invoice.
  • currency enum Three-letter ISO currency code, in lowercase. Must be a supported currency.
  • customer string The ID of the customer to bill for this invoice item.
  • customer _ account string The ID of the account representing the customer to bill for this invoice item.
  • description string An arbitrary string which you can attach to the invoice item. The description is displayed in the invoice for easy tracking.
  • metadata map 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.
  • period object 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.
  • pricing object The pricing information for the invoice item.

More parameters

  • discountable boolean
  • discounts array of objects
  • invoice string
  • price _ data object
  • quantity integer Deprecated
  • quantity _ decimal string
  • subscription string
  • tax _ behavior enum Recommended if calculating taxes
  • tax _ code string Recommended if calculating taxes
  • tax _ rates array of strings
  • unit _ amount _ decimal string

Returns

The created invoice item object is returned if successful. Otherwise, this call raises an error.

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, "quantity_decimal": "1", "tax_rates": [], "test_clock": null}

Update an invoice item

POST / v1 / invoiceitems /:id

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

  • amount integer The integer amount in the smallest currency unit 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.
  • description string An arbitrary string which you can attach to the invoice item. The description is displayed in the invoice for easy tracking.
  • metadata map 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.
  • period object 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.
  • pricing object The pricing information for the invoice item.

More parameters

  • discountable boolean
  • discounts array of objects
  • invoicing _ rules string Preview feature
  • price _ data object
  • quantity integer Deprecated
  • quantity _ decimal string
  • tax _ behavior enum Recommended if calculating taxes
  • tax _ code string Recommended if calculating taxes
  • tax _ rates array of strings
  • unit _ amount _ decimal string

Returns

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

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, "quantity_decimal": "1", "tax_rates": [], "test_clock": null}

Retrieve an invoice item

GET / v1 / invoiceitems /:id

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.

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, "quantity_decimal": "1", "tax_rates": [], "test_clock": null}
Last verified 2026-09-24

Is this helpful?