Skip to content

The Invoice Item object

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, in lowercase. Must be a supported currency.

  • 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 (object, nullable) 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.

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

  • parent (object, nullable) The parent that generated this invoice item.

    • parent.subscription_details (object, nullable) Details about the subscription that generated this invoice item

      • parent.subscription_details.subscription (string) The subscription that generated this invoice item

      • parent.subscription_details.subscription_item (string, nullable) The subscription item that generated this invoice item

    • parent.type (enum) The type of parent that generated this invoice item Possible enum values:

      • subscription_details Details of the parent can be found in the subscription_details hash.
  • 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.

    • period.end (timestamp) The end of the period, which must be greater than or equal to the start. This value is inclusive.

    • period.start (timestamp) The start of the period. This value is inclusive.

  • pricing (object, nullable) The pricing information of the invoice item.

    • pricing.price_details (object, nullable) Additional details about the price this item is associated with. This is present only when the type is price_details

      • pricing.price_details.price (string, expandable (can be expanded into an object with the expand request parameter)) The ID of the price this item is associated with.

      • pricing.price_details.product (string) The ID of the product this item is associated with.

    • pricing.type (enum) The type of the pricing details. Possible enum values:

    • pricing.unit_amount_decimal (decimal string, nullable) The unit amount (in the currency specified) of the item which contains a decimal value with at most 12 decimal places.

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

  • proration_details (object, nullable) Contains information about proration items. This field is only populated for prorations created from subscriptions with billing_mode=flexible.

    • proration_details.discount_amounts (array of objects) Discount amounts applied when the proration was created.

      • proration_details.discount_amounts.amount (integer) The amount, in the smallest currency unit, of the discount.

      • proration_details.discount_amounts.discount (string, expandable (can be expanded into an object with the expand request parameter)) The discount that was applied to get this discount amount.

  • 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 (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.

    • tax_rates.id (string) Unique identifier for the object.

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

    • tax_rates.active (boolean) Defaults to true. When set to false, this tax rate cannot be used with new applications or Checkout Sessions, but will still work for subscriptions and invoices that already have it set.

    • tax_rates.country (string, nullable) Two-letter country code (ISO 3166-1 alpha-2).

    • tax_rates.created (timestamp) Time at which the object was created. Measured in seconds since the Unix epoch.

    • tax_rates.description (string, nullable) An arbitrary string attached to the tax rate for your internal use only. It will not be visible to your customers.

    • tax_rates.display_name (string) The display name of the tax rates as it will appear to your customer on their receipt email, PDF, and the hosted invoice page.

    • tax_rates.effective_percentage (float, nullable) Actual/effective tax rate percentage out of 100. For tax calculations with automatic_tax[enabled]=true, this percentage reflects the rate actually used to calculate tax based on the product’s taxability and whether the user is registered to collect taxes in the corresponding jurisdiction.

    • tax_rates.flat_amount (object, nullable) The amount of the tax rate when the rate_type is flat_amount. Tax rates with rate_type percentage can vary based on the transaction, resulting in this field being null. This field exposes the amount and currency of the flat tax rate.

      • tax_rates.flat_amount.amount (integer) Amount of the tax when the rate_type is flat_amount. This positive integer represents how much to charge in the smallest currency unit (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99).

      • tax_rates.flat_amount.currency (string) Three-letter ISO currency code, in lowercase.

    • tax_rates.inclusive (boolean) This specifies if the tax rate is inclusive or exclusive.

    • tax_rates.jurisdiction (string, nullable) The jurisdiction for the tax rate. You can use this label field for tax reporting purposes. It also appears on your customer’s invoice.

    • tax_rates.jurisdiction_level (enum, nullable) The level of the jurisdiction that imposes this tax rate. Will be null for manually defined tax rates. Possible enum values:

      • city
      • country
      • county
      • district
      • multiple
      • state
    • tax_rates.livemode (boolean) If the object exists in live mode, the value is true. If the object exists in test mode, the value is false.

    • tax_rates.metadata (object, nullable) 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.

    • tax_rates.percentage (float) Tax rate percentage out of 100. For tax calculations with automatic_tax[enabled]=true, this percentage includes the statutory tax rate of non-taxable jurisdictions.

    • tax_rates.rate_type (enum, nullable) Indicates the type of tax rate applied to the taxable amount. This value can be null when no tax applies to the location. This field is only present for TaxRates created by Stripe Tax. Possible enum values:

      • flat_amount A fixed amount applied as tax, regardless of the taxable amount, such as a retail delivery fee.

      • percentage A tax rate expressed as a percentage of the taxable amount, such as the sales tax rate in California.

    • tax_rates.state (string, nullable) ISO 3166-2 subdivision code, without country prefix. For example, “NY” for New York, United States.

    • tax_rates.tax_type (enum, nullable) The high-level tax type, such as vat or sales_tax. Possible enum values:

      • admissions_tax Admissions Tax

      • amusement_tax Amusement Tax

      • attendance_tax Attendance Tax

      • communications_tax Communications Tax

      • entertainment_tax Entertainment Tax

      • gross_receipts_tax Gross Receipts Tax

      • gst Goods and Services Tax

      • hospitality_tax Hospitality Tax

      • hst Harmonized Sales Tax

      • igst Integrated Goods and Services Tax

      • jct Japanese Consumption Tax

      • lease_tax Chicago Lease Tax

      • luxury_tax Luxury Tax

      • pst Provincial Sales Tax

      • qst Quebec Sales Tax

      • resort_tax Resort Tax

      • retail_delivery_fee Retail Delivery Fee

      • rst Retail Sales Tax

      • sales_tax Sales Tax

      • service_tax Service Tax

      • tourism_tax Tourism Tax

      • vat Value-Added Tax

  • 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.

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
}

Stripe API Reference - Self-contained docs reference, refreshed 2026-05-18