# The Invoice Item object

### The Invoice Item object

```json
{
  "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
}
```

## 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)
  Amount (in the `currency` specified) of the invoice item. This should always be equal to `unit_amount * quantity`.

- `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).

- `customer` (string, expandable (can be expanded into an object with the `expand` request parameter))
  The ID of the customer to bill for this invoice item.

- `customer_account` (string, nullable)
  The ID of the account to bill for this invoice item.

- `date` (timestamp)
  Time at which the object was created. Measured in seconds since the Unix epoch.

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

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

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

- `invoice` (string, nullable, expandable (can be expanded into an object with the `expand` request parameter))
  The ID of the invoice this invoice item belongs to.

- `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, nullable)
  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.

- `net_amount` (integer, nullable)
  The amount after discounts, but before credits and taxes. This field is `null` for `discountable=true` items.

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

- [`period`](https://docs.stripe.com/api/invoiceitems/object.md?query=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](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.

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

- `proration` (boolean)
  Whether the invoice item was created automatically as a proration adjustment when the customer switched plans.

- [`proration_details`](https://docs.stripe.com/api/invoiceitems/object.md?query=proration_details) (object, nullable)
  Contains information about proration items. This field is only populated for prorations created from subscriptions with `billing_mode=flexible`.

- `quantity` (integer)
  Quantity of units for the invoice item in integer format, with any decimal precision truncated. For the 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 invoice item is a proration, the quantity of the subscription that the proration was computed for.

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

- [`tax_rates`](https://docs.stripe.com/api/invoiceitems/object.md?query=tax_rates) (array of objects, nullable)
  The tax rates which apply to the invoice item. When set, the `default_tax_rates` on the invoice do not apply to this invoice item.

- `test_clock` (string, nullable, expandable (can be expanded into an object with the `expand` request parameter))
  ID of the test clock this invoice item belongs to.
