# The Invoice Line Item object

### The Invoice Line Item object

```json
{
  "id": "il_tmp_1Nzo1ZGgdF1VjufLzD1UUn9R",
  "object": "line_item",
  "amount": 1000,
  "currency": "usd",
  "description": "My First Invoice Item (created for API docs)",
  "discount_amounts": [],
  "discountable": true,
  "discounts": [],
  "livemode": false,
  "metadata": {},
  "parent": {
    "type": "invoice_item_details",
    "invoice_item_details": {
      "invoice_item": "ii_1NpHiK2eZvKYlo2C9NdV8VrI",
      "proration": false,
      "proration_details": {
        "credited_items": null
      },
      "subscription": null
    }
  },
  "period": {
    "end": 1696975413,
    "start": 1696975413
  },
  "pricing": {
    "price_details": {
      "price": "price_1NzlYfGgdF1VjufL0cVjLJVI",
      "product": "prod_OnMHDH6VBmYlTr"
    },
    "type": "price_details",
    "unit_amount_decimal": "1000"
  },
  "quantity": 1,
  "quantity_decimal": "1",
  "taxes": []
}
```

## Attributes

- `id` (string)
  Unique identifier for the object.

- `object` (string)
  String representing the object’s type. Objects of the same type share the same value.

- `amount` (integer)
  The amount, in the smallest currency unit.

- `currency` (enum)
  Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://docs.stripe.com/currencies.md).

- `description` (string, nullable)
  An arbitrary string attached to the object. Often useful for displaying to users.

- [`discount_amounts`](https://docs.stripe.com/api/invoice-line-item/object.md?query=discount_amounts) (array of objects, nullable)
  The amount of discount calculated per discount for this line item.

- `discountable` (boolean)
  If true, discounts will apply to this line item. Always false for prorations.

- `discounts` (array of strings, expandable (can be expanded into an object with the `expand` request parameter))
  The discounts applied to the invoice line item. Line item discounts are applied before invoice discounts. Use `expand[]=discounts` to expand each discount.

- `invoice` (string, nullable)
  The ID of the invoice that contains this line item.

- `livemode` (boolean)
  If the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`.

- `metadata` (map)
  Set of [key-value pairs](https://docs.stripe.com/api/metadata.md) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Note that for line items with `type=subscription`, `metadata` reflects the current metadata from the subscription associated with the line item, unless the invoice line was directly updated with different metadata after creation.

- [`parent`](https://docs.stripe.com/api/invoice-line-item/object.md?query=parent) (object, nullable)
  The parent that generated this line item.

- [`period`](https://docs.stripe.com/api/invoice-line-item/object.md?query=period) (object)
  The period this `line_item` covers. For subscription line items, this is the subscription period. For prorations, this starts when the proration was calculated, and ends at the period end of the subscription. For invoice items, this is the time at which the invoice item was created or the period of the item. If you have [Stripe Revenue Recognition](https://docs.stripe.com/revenue-recognition.md) enabled, the period will be used to recognize and defer revenue. See the [Revenue Recognition documentation](https://docs.stripe.com/revenue-recognition/methodology/subscriptions-and-invoicing.md) for details.

- [`pretax_credit_amounts`](https://docs.stripe.com/api/invoice-line-item/object.md?query=pretax_credit_amounts) (array of objects, nullable)
  Contains pretax credit amounts (ex: discount, credit grants, etc) that apply to this line item.

- [`pricing`](https://docs.stripe.com/api/invoice-line-item/object.md?query=pricing) (object, nullable)
  The pricing information of the line item.

- `quantity` (integer, nullable)
  Quantity of units for the invoice line item in integer format, with any decimal precision truncated. For the line item’s full-precision decimal quantity, use `quantity_decimal`. This field will be deprecated in favor of `quantity_decimal` in a future version. If the line item is a proration or subscription, the quantity of the subscription that the proration was computed for.

- `quantity_decimal` (decimal string, nullable)
  Non-negative decimal with at most 12 decimal places. The quantity of units for the line item.

- `subtotal` (integer)
  The subtotal of the line item, in the smallest currency unit, before any discounts or taxes.

- [`taxes`](https://docs.stripe.com/api/invoice-line-item/object.md?query=taxes) (array of objects, nullable)
  The tax information of the line item.
