---
title: SubscriptionBuyLineItem
framework: externalpurchaseserverapi
role: symbol
role_heading: Object
path: externalpurchaseserverapi/subscriptionbuylineitem
---

# SubscriptionBuyLineItem

The line item that indicates a subscription-related event or transaction.

## Declaration

```data
object SubscriptionBuyLineItem
```

## Properties

lineItemId: A unique identifier for the transaction, that you determine. The value must be unique per app. Using UUIDs is recommended. Reuse a lineItemId only to submit a correction for a previously submitted line item. referenceLineItemId: The lineItemId of initial purchase transaction for the subscription. creationDate: The UNIX date, in milliseconds, that the customer authorized the purchase. restatement: Set to true to indicate that this line item is correcting (restating) a line item that you previously submitted. For more information, see Reporting corrections. erroneouslySubmitted: Set to true to indicate that you previously submitted the line item erroneously. Set the restatement field to true also. For more information, see Reporting corrections. subscriptionEvent: The subscription event the transaction represents, including a subscription start, a renewal, a change, or a payment. For more information, see subscriptionEvent. subscriptionStartDate: The UNIX date, in milliseconds, of the start of the subscription renewal period. subscriptionEndDate: The UNIX date, in milliseconds, of the end of the subscription renewal period. subscriptionDaysOfPaidService: The total number of days of paid service for the subscription. For more information, see subscriptionDaysOfPaidService. pricingCurrency: The currency the transaction used to charge the customer. For more information, see pricingCurrency. reportingCurrency: The currency you use to report all the amount fields, including amountTaxExclusive, amountTaxInclusive, netAmountTaxExclusive, and taxAmount. For  more information, see reportingCurrency. exchangeRate: The exchange rate you use to calculate the amounts, from the pricing currency to the reporting currency, if the customer is billed in an unsupported currency. For more information, see exchangeRate. amountTaxExclusive: The amount that the customer paid, excluding taxes, that you state in milli-units of the reporting currency. For more information, see amountTaxExclusive. amountTaxInclusive: The amount that the customer paid, including taxes, that you state in milli-units of the reporting currency. For more information, see amountTaxInclusive. netAmountTaxExclusive: The net amount the customer was charged, accurate to the current line item, that you state in milli-units of the reporting currency. This amount excludes tax, and accounts for all refunds and restatements. For more information, see netAmountTaxExclusive. taxAmount: The amount the customer paid in taxes, that you state in milli-units of the reporting currency. For more information, see taxAmount. taxCountry: The country code of the country for which taxes were paid on the purchase. For more information, see taxCountry. productIdentifier: A string that uniquely identifies the subscription product. quantity: The quantity of the product the customer purchased. For more information, see quantity. eventType: Use BUY. (To report a refund, use a RefundLineItem line item instead.) productType: Use SUBSCRIPTION. (To report a one-time charge transaction, use a OneTimeBuyLineItem instead.)

## Mentioned in

Reporting tokens with transactions Reporting corrections

## Discussion

Discussion Use a SubscriptionBuyLineItem to report a subscription-related transaction or event, or a correction to the same. Each line-item object represents one transaction. Other types of line-item objects include: OneTimeBuyLineItem, for reporting a one-time charge RefundLineItem, for reporting refunds Include the line-item objects in the lineItems array of an ExternalPurchaseReport object. To send the report, include the ExternalPurchaseReport object in a request to the Send External Purchase Report endpoint. note: Identify a subscription using the lineItemId of the original subscription-start transaction. A line item for a subscription start has an eventType of BUY and a subscriptionEvent of SUBSCRIPTION_START. For example, to report a renewal for a subscription, set the renewal transaction’s referenceLineItemId to the lineItemId of the subscription-start line item, and set the  subscriptionEvent to RENEWAL. For more information, see Reporting tokens with transactions and Reporting corrections.

## See Also

### External purchase report transactions

- [Reporting tokens with transactions](externalpurchaseserverapi/reportwithtransactions.md)
- [Reporting corrections](externalpurchaseserverapi/reportcorrections.md)
- [OneTimeBuyLineItem](externalpurchaseserverapi/onetimebuylineitem.md)
- [RefundLineItem](externalpurchaseserverapi/refundlineitem.md)
- [Line item fields](externalpurchaseserverapi/lineitems.md)
