The Invoice Line Item object 

Billing
Invoice Line Item
The Invoice Line Item object

Attributes

  • idstring

    Unique identifier for the object.

  • amountinteger

    The amount, in cents.

  • currencyenum

    Three-letter ISO currency code, in lowercase. Must be a supported currency.

  • descriptionnullable string

    An arbitrary string attached to the object. Often useful for displaying to users.

  • invoicenullable string

    The ID of the invoice that contains this line item.

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

  • periodobject

    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 enabled, the period will be used to recognize and defer revenue. See the Revenue Recognition documentation for details.

    • period.endtimestamp

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

    • period.starttimestamp

      The start of the period. This value is inclusive.

  • pricenullable object

    The price of the line item.

    • price.idstring

      Unique identifier for the object.

    • price.objectstring

      String representing the object’s type. Objects of the same type share the same value.

    • price.activeboolean

      Whether the price can be used for new purchases.

    • price.billing_schemeenum

      Describes how to compute the price per period. Either per_unit or tiered. per_unit indicates that the fixed amount (specified in unit_amount or unit_amount_decimal) will be charged per unit in quantity (for prices with usage_type=licensed), or per unit of total usage (for prices with usage_type=metered). tiered indicates that the unit pricing will be computed using a tiering strategy as defined using the tiers and tiers_mode attributes.

      Possible enum values
      per_unit
      tiered
    • price.createdtimestamp

      Time at which the object was created. Measured in seconds since the Unix epoch.

    • price.currencyenum

      Three-letter ISO currency code, in lowercase. Must be a supported currency.

    • price.currency_optionsnullable objectExpandable

      Prices defined in each available currency option. Each key must be a three-letter ISO currency code and a supported currency.

      • price.currency_options.<currency>.custom_unit_amountnullable object

        When set, provides configuration for the amount to be adjusted by the customer during Checkout Sessions and Payment Links.

        • price.currency_options.<currency>.custom_unit_amount.maximumnullable integer

          The maximum unit amount the customer can specify for this item.

        • price.currency_options.<currency>.custom_unit_amount.minimumnullable integer

          The minimum unit amount the customer can specify for this item. Must be at least the minimum charge amount.

        • price.currency_options.<currency>.custom_unit_amount.presetnullable integer

          The starting unit amount which can be updated by the customer.

      • price.currency_options.<currency>.tax_behaviornullable enum

        Only required if a default tax behavior was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of inclusive, exclusive, or unspecified. Once specified as either inclusive or exclusive, it cannot be changed.

        Possible enum values
        exclusive
        inclusive
        unspecified
      • price.currency_options.<currency>.tiersnullable array of objectsExpandable

        Each element represents a pricing tier. This parameter requires billing_scheme to be set to tiered. See also the documentation for billing_scheme.

        • price.currency_options.<currency>.tiers.flat_amountnullable integer

          Price for the entire tier.

        • price.currency_options.<currency>.tiers.flat_amount_decimalnullable decimal string

          Same as flat_amount, but contains a decimal value with at most 12 decimal places.

        • price.currency_options.<currency>.tiers.unit_amountnullable integer

          Per unit price for units relevant to the tier.

        • price.currency_options.<currency>.tiers.unit_amount_decimalnullable decimal string

          Same as unit_amount, but contains a decimal value with at most 12 decimal places.

        • price.currency_options.<currency>.tiers.up_tonullable integer

          Up to and including to this quantity will be contained in the tier.

      • price.currency_options.<currency>.unit_amountnullable integer

        The unit amount in cents to be charged, represented as a whole integer if possible. Only set if billing_scheme=per_unit.

      • price.currency_options.<currency>.unit_amount_decimalnullable decimal string

        The unit amount in cents to be charged, represented as a decimal string with at most 12 decimal places. Only set if billing_scheme=per_unit.

    • price.custom_unit_amountnullable object

      When set, provides configuration for the amount to be adjusted by the customer during Checkout Sessions and Payment Links.

      • price.custom_unit_amount.maximumnullable integer

        The maximum unit amount the customer can specify for this item.

      • price.custom_unit_amount.minimumnullable integer

        The minimum unit amount the customer can specify for this item. Must be at least the minimum charge amount.

      • price.custom_unit_amount.presetnullable integer

        The starting unit amount which can be updated by the customer.

    • price.livemodeboolean

      Has the value true if the object exists in live mode or the value false if the object exists in test mode.

    • price.lookup_keynullable string

      A lookup key used to retrieve prices dynamically from a static string. This may be up to 200 characters.

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

    • price.nicknamenullable string

      A brief description of the price, hidden from customers.

    • price.productstringExpandable

      The ID of the product this price is associated with.

    • price.recurringnullable object

      The recurring components of a price such as interval and usage_type.

      • price.recurring.aggregate_usagenullable enum

        Specifies a usage aggregation strategy for prices of usage_type=metered. Defaults to sum.

        Possible enum values
        last_during_period

        Use the last usage record reported within a period.

        last_ever

        Use the last usage record ever reported (across period bounds).

        max

        Use the usage record with the maximum reported usage during a period.

        sum

        Sum up all usage during a period. This is the default behavior.

      • price.recurring.intervalenum

        The frequency at which a subscription is billed. One of day, week, month or year.

      • price.recurring.interval_countinteger

        The number of intervals (specified in the interval attribute) between subscription billings. For example, interval=month and interval_count=3 bills every 3 months.

      • price.recurring.meternullable string

        The meter tracking the usage of a metered price

      • price.recurring.usage_typeenum

        Configures how the quantity per period should be determined. Can be either metered or licensed. licensed automatically bills the quantity set when adding it to a subscription. metered aggregates the total usage based on usage records. Defaults to licensed.

    • price.tax_behaviornullable enum

      Only required if a default tax behavior was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of inclusive, exclusive, or unspecified. Once specified as either inclusive or exclusive, it cannot be changed.

      Possible enum values
      exclusive
      inclusive
      unspecified
    • price.tiersnullable array of objectsExpandable

      Each element represents a pricing tier. This parameter requires billing_scheme to be set to tiered. See also the documentation for billing_scheme.

      • price.tiers.flat_amountnullable integer

        Price for the entire tier.

      • price.tiers.flat_amount_decimalnullable decimal string

        Same as flat_amount, but contains a decimal value with at most 12 decimal places.

      • price.tiers.unit_amountnullable integer

        Per unit price for units relevant to the tier.

      • price.tiers.unit_amount_decimalnullable decimal string

        Same as unit_amount, but contains a decimal value with at most 12 decimal places.

      • price.tiers.up_tonullable integer

        Up to and including to this quantity will be contained in the tier.

    • price.tiers_modenullable enum

      Defines if the tiering price should be graduated or volume based. In volume-based tiering, the maximum quantity within a period determines the per unit price. In graduated tiering, pricing can change as the quantity grows.

      Possible enum values
      graduated
      volume
    • price.transform_quantitynullable object

      Apply a transformation to the reported usage or set quantity before computing the amount billed. Cannot be combined with tiers.

      • price.transform_quantity.divide_byinteger

        Divide usage by this number.

      • price.transform_quantity.roundenum

        After division, either round the result up or down.

    • price.typeenum

      One of one_time or recurring depending on whether the price is for a one-time purchase or a recurring (subscription) purchase.

      Possible enum values
      one_time
      recurring
    • price.unit_amountnullable integer

      The unit amount in cents to be charged, represented as a whole integer if possible. Only set if billing_scheme=per_unit.

    • price.unit_amount_decimalnullable decimal string

      The unit amount in cents to be charged, represented as a decimal string with at most 12 decimal places. Only set if billing_scheme=per_unit.

  • prorationboolean

    Whether this is a proration.

  • quantitynullable integer

    The quantity of the subscription, if the line item is a subscription or a proration.

  • typeenum

    A string identifying the type of the source of this line item, either an invoiceitem or a subscription.

    Possible enum values
    invoiceitem
    subscription

More attributes

  • objectstring

    String representing the object’s type. Objects of the same type share the same value.

  • amount_excluding_taxnullable integer

    The integer amount in cents representing the amount for this line item, excluding all tax and discounts.

  • discount_amountsnullable array of objects

    The amount of discount calculated per discount for this line item.

    • discount_amounts.amountinteger

      The amount, in cents, of the discount.

    • discount_amounts.discountstringExpandable

      The discount that was applied to get this discount amount.

  • discountableboolean

    If true, discounts will apply to this line item. Always false for prorations.

  • discountsarray of stringsExpandable

    The discounts applied to the invoice line item. Line item discounts are applied before invoice discounts. Use expand[]=discounts to expand each discount.

  • invoice_itemnullable stringExpandable

    The ID of the invoice item associated with this line item if any.

  • livemodeboolean

    Has the value true if the object exists in live mode or the value false if the object exists in test mode.

  • pretax_credit_amountsnullable array of objects

    Contains pretax credit amounts (ex: discount, credit grants, etc) that apply to this line item.

    • pretax_credit_amounts.amountinteger

      The amount, in cents, of the pretax credit amount.

    • pretax_credit_amounts.credit_balance_transactionnullable stringExpandable

      The credit balance transaction that was applied to get this pretax credit amount.

    • pretax_credit_amounts.discountnullable stringExpandable

      The discount that was applied to get this pretax credit amount.

    • pretax_credit_amounts.typeenum

      Type of the pretax credit amount referenced.

      Possible enum values
      credit_balance_transaction

      The pretax credit amount is from a credit balance transaction.

      discount

      The pretax credit amount is from a discount.

  • proration_detailsnullable object

    Additional details for proration line items

    • proration_details.credited_itemsnullable object

      For a credit proration line_item, the original debit line_items to which the credit proration applies.

      • proration_details.credited_items.invoicestring

        Invoice containing the credited invoice line items

      • proration_details.credited_items.invoice_line_itemsarray of strings

        Credited invoice line items

  • subscriptionnullable stringExpandable

    The subscription that the invoice item pertains to, if any.

  • subscription_itemnullable stringExpandable

    The subscription item that generated this line item. Left empty if the line item is not an explicit result of a subscription.

  • tax_amountsarray of objects

    The amount of tax calculated per tax rate for this line item

    • tax_amounts.amountinteger

      The amount, in cents, of the tax.

    • tax_amounts.inclusiveboolean

      Whether this tax amount is inclusive or exclusive.

    • tax_amounts.tax_ratestringExpandable

      The tax rate that was applied to get this tax amount.

    • tax_amounts.taxability_reasonnullable enum

      The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported.

      Possible enum values
      customer_exempt

      No tax is applied as the customer is exempt from tax.

      not_collecting

      No tax is collected either because you are not registered to collect tax in this jurisdiction, or because the non-taxable product tax code (txcd_00000000) was used.

      not_subject_to_tax

      No tax is imposed on this transaction.

      not_supported

      No tax applied. Stripe doesn’t support this jurisdiction, territory, or product.

      portion_product_exempt

      A portion of the price is exempt from tax.

      portion_reduced_rated

      A portion of the price is taxed at a reduced rate.

      portion_standard_rated

      A portion of the price is taxed at the standard rate.

      product_exempt

      The product or service is nontaxable or exempt from tax.

      product_exempt_holiday

      The product or service is not taxed due to a sales tax holiday.

      proportionally_rated

      The shipping cost tax rate is calculated as a weighted average of the other line items’ rates, weighted by their amounts.

      Show 5 more
    • tax_amounts.taxable_amountnullable integer

      The amount on which tax is calculated, in cents.

  • tax_ratesarray of objects

    The tax rates which apply to the line item.

    • tax_rates.idstring

      Unique identifier for the object.

    • tax_rates.objectstring

      String representing the object’s type. Objects of the same type share the same value.

    • tax_rates.activeboolean

      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.countrynullable string

      Two-letter country code (ISO 3166-1 alpha-2).

    • tax_rates.createdtimestamp

      Time at which the object was created. Measured in seconds since the Unix epoch.

    • tax_rates.descriptionnullable string

      An arbitrary string attached to the tax rate for your internal use only. It will not be visible to your customers.

    • tax_rates.display_namestring

      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_percentagenullable float

      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_amountnullable object

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

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

        Three-letter ISO currency code, in lowercase.

    • tax_rates.inclusiveboolean

      This specifies if the tax rate is inclusive or exclusive.

    • tax_rates.jurisdictionnullable string

      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_levelnullable enum

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

      Has the value true if the object exists in live mode or the value false if the object exists in test mode.

    • tax_rates.metadatanullable object

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

      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_typenullable enum

      Indicates the type of tax rate applied to the taxable amount. This value can be null when no tax applies to the location.

      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.statenullable string

      ISO 3166-2 subdivision code, without country prefix. For example, “NY” for New York, United States.

    • tax_rates.tax_typenullable enum

      The high-level tax type, such as vat or sales_tax.

      Possible enum values
      amusement_tax

      Amusement Tax

      communications_tax

      Communications Tax

      gst

      Goods and Services Tax

      hst

      Harmonized Sales Tax

      igst

      Integrated Goods and Services Tax

      jct

      Japanese Consumption Tax

      lease_tax

      Chicago Lease Tax

      pst

      Provincial Sales Tax

      qst

      Quebec Sales Tax

      retail_delivery_fee

      Retail Delivery Fee

      Show 3 more
  • unit_amount_excluding_taxnullable decimal string

    The amount in cents representing the unit amount for this line item, excluding all tax and discounts.

The Invoice Line Item object
{
"id": "il_tmp_1Nzo1ZGgdF1VjufLzD1UUn9R",
"object": "line_item",
"amount": 1000,
"amount_excluding_tax": 1000,
"currency": "usd",
"description": "My First Invoice Item (created for API docs)",
"discount_amounts": [],
"discountable": true,
"discounts": [],
"invoice_item": "ii_1Nzo1ZGgdF1VjufLzD1UUn9R",
"livemode": false,
"metadata": {},
"period": {
"end": 1696975413,
"start": 1696975413
},
"price": {
"id": "price_1NzlYfGgdF1VjufL0cVjLJVI",
"object": "price",
"active": true,
"billing_scheme": "per_unit",
"created": 1696965933,
"currency": "usd",
"custom_unit_amount": null,
"livemode": false,
"lookup_key": null,
"metadata": {},
"nickname": null,
"product": "prod_OnMHDH6VBmYlTr",
"recurring": null,
"tax_behavior": "unspecified",
"tiers_mode": null,
"transform_quantity": null,
"type": "one_time",
"unit_amount": 1000,
"unit_amount_decimal": "1000"
},
"proration": false,
"proration_details": {
"credited_items": null
},
"quantity": 1,
"subscription": null,
"tax_amounts": [],
"tax_rates": [],
"type": "invoiceitem",
"unit_amount_excluding_tax": "1000"
}