# CRUD: Retrieve an invoice item

Endpoint: GET /v1/object/invoice-item/{id}
Version: 2026-09-11

## Path parameters:

  - `id` (string, required)
    Object id

## Query parameters:

  - `fields` (string)
    Object fields to return

## Header parameters:

  - `Accept-Encoding` (string)
    Include the `Accept-Encoding: gzip` header to compress responses as a gzipped file. It can significantly reduce the bandwidth required for a response. 

If specified, Zuora automatically compresses responses that contain over 1000 bytes of data, and the response contains a `Content-Encoding` header with the compression algorithm so that your client can decompress it.

  - `Content-Encoding` (string)
    Include the `Content-Encoding: gzip` header to compress a request. With this header specified, you should upload a gzipped file for the request payload instead of sending the JSON payload.

  - `Authorization` (string)
    The value is in the `Bearer {token}` format where {token} is a valid OAuth token generated by calling [Create an OAuth token](https://developer.zuora.com/api-references/api/operation/createToken).

  - `Zuora-Entity-Ids` (string)
    An entity ID. If you have [Zuora Multi-entity](https://docs.zuora.com?resourceId=platform-multi-entity-overview) enabled and the OAuth token is valid for more than one entity, you must use this header to specify which entity to perform the operation in. If the OAuth token is only valid for a single entity, or you do not have Zuora Multi-entity enabled, you do not need to set this header.

  - `Zuora-Track-Id` (string)
    A custom identifier for tracing the API call. If you set a value for this header, Zuora returns the same value in the response headers. This header enables you to associate your system process identifiers with Zuora API calls, to assist with troubleshooting in the event of an issue.

The value of this field must use the US-ASCII character set and must not include any of the following characters: colon (`:`), semicolon (`;`), double quote (`"`), and quote (`'`).

  - `X-Zuora-WSDL-Version` (string)
    Zuora WSDL version number.

## Response 200 fields (application/json):

  - `AccountingCode` (string)
    The accounting code for the item's charge. Accounting codes group transactions that contain similar accounting attributes.
**Character limit**: 100 **Values**: inherited from `RatePlanCharge.AccountingCode`

  - `AppliedToInvoiceItemId` (string)
    Associates a discount invoice item to a specific invoice item.
**Character limit**: 32
**Values**: inherited from `InvoiceItem.Id` for the invoice item that the discount charge is applied to

  - `ChargeAmount` (number)
    The amount being charged for the invoice item. This amount doesn't include taxes regardless if the charge's tax mode is inclusive or exclusive.
**Character limit**: **Values**: automatically calculated from multiple fields in multiple objects

  - `ChargeDate` (string)
    The date when the Invoice Item is created .
**Character limit**: 29 **Values**: automatically generated

  - `ChargeName` (string)
    The name of the invoice item's charge.
**Character limi**t: 50 **Values: **inherited from `RatePlanCharge.Name`

  - `CreatedById` (string)
    The user ID of the person who created the invoice item.
**Character limit**: 32 **Values**: automatically generated

  - `CreatedDate` (string)
    The date the invoice item was created.
**Character limit:** 29 **Values**: automatically generated

  - `ExcludeItemBillingFromRevenueAccounting` (boolean)
    Whether excluding item from revenue accounting. The flag to exclude non-revenue related invoice items, invoice item adjustments, credit memo items, and debit memo items from revenue accounting. **Note**: This field is only available if you have the RevPro Integration feature enabled. And you must set the `X-Zuora-WSDL-Version` request header to `116` or later. Otherwise, an error occurs. **Character limit**: 8 **Values**: Default value is false, inherited from order line item.

  - `Id` (string)
    Object identifier.

  - `InvoiceId` (string)
    The ID of the invoice that's associated with this invoice item.
**Character limit**: 32 **Values**: inherited from `Invoice.Id`

  - `ProcessingType` (number)
    Identifies the kind of charge where 0 is a charge, 1 is a discount, 2 is a prepayment, and 3 is a tax. The returned value is text not decimal on data sources.
**Character limit**: **Values: **
- 0: charge
- 1: discount
- 2: prepayment
- 3: tax

  - `ProductDescription` (string)
    A description of the product associated with this invoice item.
**Character limit**: 500
**Values**: inherited from `Product.Description`
**Note**: This value changes if `Product.Description` is updated. The values of `UpdatedById` and `UpdatedDate` for the `InvoiceItem` do not change when `Product.Description` is updated.

  - `ProductName` (string)
    The name of the product associated with this invoice item.
**Character limit**: 255
**Values**: inherited from `Product.Name`
**Note**: This value changes if `Product.Name` is updated. The values of `UpdatedById` and `UpdatedDate` for the `InvoiceItem` do not change when `Product.Name` is updated.

  - `Quantity` (number)
    The number of units for this invoice item.
**Values**: inherited from `RatePlanCharge.Quantity`

  - `RatePlanChargeId` (string)
    The ID of the rate plan charge that's associated with this invoice item.
**Character limit**: 32 **Values**: inherited from `RatePlanCharge.Id`

  - `RevRecStartDate` (string)
    The date when revenue recognition is triggered.
**Character limit**: 29 **Values**: generated from `InvoiceItem.RevRecTriggerCondition`

  - `SKU` (string)
    The unique SKU for the product associated with this invoice item.
**Character limit**: 255 **Values**: inherited from `Product.SKU`

  - `ServiceEndDate` (string)
    The end date of the service period associated with this invoice item. Service ends one second before the date in this value.
**Character limit**: 29 **Values**: automatically generated

  - `ServiceStartDate` (string)
    The start date of the service period associated with this invoice item. If the associated charge is a one-time fee, then this date is the date of that charge.
**Character limit:** 29 **Values**: automatically generated

  - `SourceItemType` (string)
    The type of the source item. **Note**: To use this field, you must set the `X-Zuora-WSDL-Version` request header to `118` or later. Otherwise, an error occurs. **Character limit**: 16 **Values**: one of the following enum values:
- SubscriptionComponent
- Rounding
- ProductRatePlanCharge
- None
- OrderLineItem

  - `SubscriptionId` (string)
    The ID of the subscription associated with the invoice item.
**Character limit**: 32 **Values**: inherited from `Subscription.Id`

  - `TaxAmount` (number)
    The amount of tax applied to the invoice item's charge.
**Character limit**: **Values**: calculated from multiple fields in the ProductRatePlanCharge object

  - `TaxCode` (string)
    Specifies the tax code for taxation rules.
**Character limit**: 6 **Values**: inherited from `ProductRatePlanCharge.TaxCode`

  - `TaxExemptAmount` (number)
    The calculated tax amount excluded due to the exemption.
**Character limit**: **Values**: calculated from multiple fields in the ProductRatePlanCharge object

  - `TaxMode` (string)
    The tax mode of the invoice item.
**Character limit**: 12 **Values**: `TaxExclusive`, `TaxInclusive`

  - `UOM` (string)
    Specifies the units to measure usage. **Character limit**: **Values**: inherited from `ProductRatePlanCharge.UOM`

  - `UnitPrice` (number)
    The per-unit price of the invoice item.
**Character limit**: **Values**: calculated from multiple fields in ProductRatePlanCharge and ProductRatePlanChargeTier objets

  - `UpdatedById` (string)
    The ID of the user who last updated the invoice item.
**Character limit**: 32 **Values**: automatically generated

  - `UpdatedDate` (string)
    The date when the invoice item was last updated.
**Character limit**: 29 **Values**: automatically generated

  - `IntegrationId__NS` (string)
    ID of the corresponding object in NetSuite. Only available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

  - `IntegrationStatus__NS` (string)
    Status of the invoice item's synchronization with NetSuite. Only available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

  - `SyncDate__NS` (string)
    Date when the invoice item was synchronized with NetSuite. Only available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

## Response 200 headers (application/json):

  - `Content-Encoding` (string)
    This header is returned if you specify the `Accept-Encoding: gzip` request header and the response contains over 1000 bytes of data.

Note that only the following MIME types support gzipped responses:
  - `application/json`
  - `application/xml`
  - `text/html`
  - `text/csv`
  - `text/plain`

  - `RateLimit-Limit` (string)
    The request limit quota for the time window closest to exhaustion. See [rate limits](https://developer.zuora.com/docs/guides/rate-limits/) for more information.

  - `RateLimit-Remaining` (number)
    The number of requests remaining in the time window closest to quota exhaustion. See [rate limits](https://developer.zuora.com/docs/guides/rate-limits/) for more information.

  - `RateLimit-Reset` (number)
    The number of seconds until the quota resets for the time window closest to quota exhaustion. See [rate limits](https://developer.zuora.com/docs/guides/rate-limits/) for more information.

  - `Zuora-Request-Id` (string)
    The Zuora internal identifier of the API call. You cannot control the value of this header.

  - `Zuora-Track-Id` (string)
    A custom identifier for tracing the API call. If you specified a tracing identifier in the request headers, Zuora returns the same tracing identifier. Otherwise, Zuora does not set this header.

## Response 401 fields (application/json):

  - `message` (string)
    Error message.
If the error message is "Authentication error", ensure that the `Authorization` request header contains valid authentication credentials, then retry the request. See [Authentication](https://developer.zuora.com/rest-api/general-concepts/authentication/) for more information.
If the error message is "Failed to get user info", retry the request.

## Response 401 headers (application/json):

  - `Content-Encoding` (string)
    This header is returned if you specify the `Accept-Encoding: gzip` request header and the response contains over 1000 bytes of data.

Note that only the following MIME types support gzipped responses:
  - `application/json`
  - `application/xml`
  - `text/html`
  - `text/csv`
  - `text/plain`

  - `RateLimit-Limit` (string)
    The request limit quota for the time window closest to exhaustion. See [rate limits](https://developer.zuora.com/docs/guides/rate-limits/) for more information.

  - `RateLimit-Remaining` (number)
    The number of requests remaining in the time window closest to quota exhaustion. See [rate limits](https://developer.zuora.com/docs/guides/rate-limits/) for more information.

  - `RateLimit-Reset` (number)
    The number of seconds until the quota resets for the time window closest to quota exhaustion. See [rate limits](https://developer.zuora.com/docs/guides/rate-limits/) for more information.

  - `Zuora-Request-Id` (string)
    The Zuora internal identifier of the API call. You cannot control the value of this header.

  - `Zuora-Track-Id` (string)
    A custom identifier for tracing the API call. If you specified a tracing identifier in the request headers, Zuora returns the same tracing identifier. Otherwise, Zuora does not set this header.

  - `WWW-Authenticate` (string)
    The value of this header is:

```
Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
```
    Enum: "Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API"

## Response 404 fields (application/json):

  - `done` (boolean)

  - `records` (array)

  - `size` (integer)

## Response 404 headers (application/json):

  - `Content-Encoding` (string)
    This header is returned if you specify the `Accept-Encoding: gzip` request header and the response contains over 1000 bytes of data.

Note that only the following MIME types support gzipped responses:
  - `application/json`
  - `application/xml`
  - `text/html`
  - `text/csv`
  - `text/plain`

  - `RateLimit-Limit` (string)
    The request limit quota for the time window closest to exhaustion. See [rate limits](https://developer.zuora.com/docs/guides/rate-limits/) for more information.

  - `RateLimit-Remaining` (number)
    The number of requests remaining in the time window closest to quota exhaustion. See [rate limits](https://developer.zuora.com/docs/guides/rate-limits/) for more information.

  - `RateLimit-Reset` (number)
    The number of seconds until the quota resets for the time window closest to quota exhaustion. See [rate limits](https://developer.zuora.com/docs/guides/rate-limits/) for more information.

  - `Zuora-Request-Id` (string)
    The Zuora internal identifier of the API call. You cannot control the value of this header.

  - `Zuora-Track-Id` (string)
    A custom identifier for tracing the API call. If you specified a tracing identifier in the request headers, Zuora returns the same tracing identifier. Otherwise, Zuora does not set this header.

## Response 200 examples:

  - `response` (unknown)

## Response 401 examples:

  - `response` (unknown)

## Response 404 examples:

  - `response` (unknown)

