---
title: "Update order line items"
method: POST
path: "/v1/order-line-items/bulk"
tags: ["Order Line Items"]
---

# Update order line items

`POST /v1/order-line-items/bulk`

**Note:** The [Order Line Items](https://docs.zuora.com?resourceId=billing-order-line-items) feature is now generally available to all Zuora customers. You need to enable the [Orders](https://docs.zuora.com?resourceId=billing-overview-orders) feature to access the [Order Line Items](https://docs.zuora.com?resourceId=billing-order-line-items) feature. As of Zuora Billing Release 313 (November 2021), new customers who onboard on [Orders](https://docs.zuora.com/en/zuora-billing/manage-accounts-subscriptions-and-non-subscriptions/manage-subscription-transactions/orders/orders-introduction/overview-of-orders) will have the [Order Line Items](https://docs.zuora.com?resourceId=billing-order-line-items) feature enabled by default. If you are a new customer who onboard on [Orders Harmonization](https://docs.zuora.com?resourceId=billing-orders-harmonization) and want to enable the [Order Line Items](https://docs.zuora.com?resourceId=billing-order-line-items) feature, submit a request at [Zuora Global Support](https://support.zuora.com/). If you are an existing [Orders](https://docs.zuora.com/en/zuora-billing/manage-accounts-subscriptions-and-non-subscriptions/manage-subscription-transactions/orders/orders-introduction/overview-of-orders) or [Orders Harmonization](https://docs.zuora.com?resourceId=billing-orders-harmonization) customer and want to enable the [Order Line Items](https://docs.zuora.com?resourceId=billing-order-line-items) feature, submit a request at [Zuora Global Support](https://support.zuora.com/).

Bulk-updates multiple order line items. You can also choose to generate an invoice for these updated order line items.

The maximum number of order line items allowable to update in a call is 100.

## Headers

- `Idempotency-Key` string
- `Accept-Encoding` string
- `Content-Encoding` string
- `Zuora-Track-Id` string
- `Zuora-Entity-Ids` string
- `Zuora-Org-Ids` string
- `Zuora-Version` string

## Request body

- PostOrderLineItemsRequestType
  - `orderLineItems` PostOrderLineItemUpdateType[]
    - `id` string, UUID, required — The sytem generated Id for the Order Line Item(OLI). Use this field to specify which OLI to update.
    - `UOM` string — Specifies the units to measure usage. You can update this field only for a sales OLI and only when the sales OLI is in the `Executing` state (when the `itemState` field is set as `Executing`).
    - `accountingCode` string — The accountingCode for the Order Line Item (OLI). You can update this field only for a sales OLI and only when the sales OLI is in the `Executing` state (when the `itemState` field is set as `Executing`).
    - `adjustmentLiabilityAccountingCode` string — The accounting code on the Order Line Item object. This field is available only if you have enabled <a href="https://docs.zuora.com?resourceId=billing-order-to-revenue" target="_blank">Order to Revenue</a> or <a href="https://docs.zuora.com?resourceId=revenue-billing-integration" target="_blank">Zuora Billing - Revenue Integration</a> feature. You can update this field only for a sales OLI and only when the sales OLI is in the `Executing` state (when the `itemState` field is set as `Executing`).
    - `adjustmentRevenueAccountingCode` string — The accounting code on the Order Line Item object. This field is available only if you have enabled <a href="https://docs.zuora.com?resourceId=billing-order-to-revenue" target="_blank">Order to Revenue</a> or <a href="https://docs.zuora.com?resourceId=revenue-billing-integration" target="_blank">Zuora Billing - Revenue Integration</a> feature. You can update this field only for a sales OLI and only when the sales OLI is in the `Executing` state (when the `itemState` field is set as `Executing`).
    - `amountPerUnit` number — The actual charged amount per unit for the Order Line Item (OLI). You can update this field only for a sales OLI and only when the sales OLI is in the `Executing` state (when the `itemState` field is set as `Executing`).
    - `billTargetDate` string, date — The target date for the Order Line Item (OLI) to be picked up by bill run for generating billing documents. To generate billing documents for an OLI, you must set this field and set the `itemState` field to `SentToBilling`. You can update this field for a sales or return OLI only when the OLI is in the `Executing` or `Booked` state.
    - `billTo` string — The ID of the bill-to contact of an order line item. Specify an existing contact under the billing account as the bill-to contact of the order line item. The billing account is the order account. You can update this field only for a sales OLI and only when the sales OLI is in the `Executing` state (when the `itemState` field is set as `Executing`).
    - `billingRule` 'TriggerWithoutFulfillment' | 'TriggerAsFulfillmentOccurs' — The rule for billing of the Order Line Item (OLI). You can update this field for a sales or return OLI only when it is in the `Executing` state (when the `itemState` field is set as `Executing`).
    - `contractAssetAccountingCode` string — The accounting code on the Order Line Item object. This field is available only if you have enabled <a href="https://docs.zuora.com?resourceId=billing-order-to-revenue" target="_blank">Order to Revenue</a> or <a href="https://docs.zuora.com?resourceId=revenue-billing-integration" target="_blank">Zuora Billing - Revenue Integration</a> feature. You can update this field only for a sales OLI and only when the sales OLI is in the `Executing` state (when the `itemState` field is set as `Executing`).
    - `contractLiabilityAccountingCode` string — The accounting code on the Order Line Item object. This field is available only if you have enabled <a href="https://docs.zuora.com?resourceId=billing-order-to-revenue" target="_blank">Order to Revenue</a> or <a href="https://docs.zuora.com?resourceId=revenue-billing-integration" target="_blank">Zuora Billing - Revenue Integration</a> feature. You can update this field only for a sales OLI and only when the sales OLI is in the `Executing` state (when the `itemState` field is set as `Executing`).
    - `contractRecognizedRevenueAccountingCode` string — The accounting code on the Order Line Item object. This field is available only if you have enabled <a href="https://docs.zuora.com?resourceId=billing-order-to-revenue" target="_blank">Order to Revenue</a> or <a href="https://docs.zuora.com?resourceId=revenue-billing-integration" target="_blank">Zuora Billing - Revenue Integration</a> feature. You can update this field only for a sales OLI and only when the sales OLI is in the `Executing` state (when the `itemState` field is set as `Executing`).
    - `customFields` OrderLineItemCustomFields — Container for custom fields of an Order Line Item object.
    - `deferredRevenueAccountingCode` string — The deferred revenue accounting code for the Order Line Item (OLI). You can update this field only for a sales OLI and only when the sales OLI is in the `Executing` state (when the `itemState` field is set as `Executing`).
    - `description` string — The description of the Order Line Item (OLI). You can update this field for a sales or return OLI only when the OLI is in the `Executing` state (when the `itemState` field is set as `Executing`).
    - `excludeItemBillingFromRevenueAccounting` boolean — Indicates whether to exclude the 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 Order to Revenue or Billing - Revenue Integration feature enabled.
    - `excludeItemBookingFromRevenueAccounting` boolean — Indicates whether to exclude the related rate plan charges and order line items from revenue accounting. **Note**: This field is only available if you have the Order to Revenue or Billing - Revenue Integration feature enabled.
    - `inlineDiscountPerUnit` number — You can update this field only for a sales OLI and only when the sales OLI is in the `Executing` state (when the `itemState` field is set as `Executing`). Use this field in accordance with the `inlineDiscountType` field, in the following manner: * If the `inlineDiscountType` field is set as `Percentage`, this field specifies the discount percentage for each unit of the order line item. For exmaple, if you specify `5` in this field, the discount percentage is 5%. * If the `inlineDiscountType` field is set as `FixedAmount`, this field specifies the discount amount on each unit of the order line item. For exmaple, if you specify `10` in this field, the discount amount on each unit of the order line item is 10. Once you set the `inlineDiscountType`, `inlineDiscountPerUnit`, and `listPricePerUnit` fields, the system will automatically generate the `amountPerUnit` field. You shall not set the `amountPerUnit` field by yourself.
    - `inlineDiscountType` 'Percentage' | 'FixedAmount' | 'None' — You can update this field only for a sales OLI and only when the sales OLI is in the `Executing` state (when the `itemState` field is set as `Executing`). Use this field to specify the inline discount type, which can be `Percentage`, `FixedAmount`, or `None`. The default value is `Percentage`. Use this field together with the `inlineDiscountPerUnit` field to specify inline discounts for order line items. The inline discount is applied to the list price of an order line item. Once you set the `inlineDiscountType`, `inlineDiscountPerUnit`, and `listPricePerUnit` fields, the system will automatically generate the `amountPerUnit` field. You shall not set the `amountPerUnit` field by yourself.
    - `isAllocationEligible` boolean — This field is used to identify if the charge segment is allocation eligible in revenue recognition. **Note**: The field is only available if you have the <a href="https://docs.zuora.com/en/zuora-billing/set-up-zuora-billing/enable-order-to-revenue/overview-of-order-to-revenue" target="_blank">Order to Revenue</a> feature enabled. To enable this field, submit a request at <a href="https://support.zuora.com/" target="_blank">Zuora Global Support</a>.
    - `isUnbilled` boolean — This field is used to dictate how to perform the accounting during revenue recognition. **Note**: The field is only available if you have the <a href="https://docs.zuora.com/en/zuora-billing/set-up-zuora-billing/enable-order-to-revenue/overview-of-order-to-revenue" target="_blank">Order to Revenue</a> feature enabled. To enable this field, submit a request at <a href="https://support.zuora.com/" target="_blank">Zuora Global Support</a>.
    - `itemName` string — The name of the Order Line Item (OLI). You can update this field for a sales or return OLI only when the OLI is in the `Executing` state (when the `itemState` field is set as `Executing`).
    - `itemState` 'Executing' | 'Booked' | 'SentToBilling' | 'Complete' | 'Canceled' — The state of the Order Line Item (OLI). See [State transitions for an order, order line item, and fulfillment](https://docs.zuora.com?resourceId=billing-state-transitions-order-line-items) for more information. To generate invoice for an OLI, you must set this field to `SentToBilling` and set the `billTargetDate` field . You can update this field for a sales or return OLI only when the OLI is in the `Executing` or 'Booked' or `SentToBilling`state (when the `itemState` field is set as `Executing` or `SentToBilling`).
    - `itemType` 'Product' | 'Fee' | 'Services' — The type of the Order Line Item (OLI). You can update this field only for a sales OLI and only when the sales OLI is in the `Executing` state (when the `itemState` field is set as `Executing`).
    - `listPricePerUnit` number — The list price per unit for the Order Line Item (OLI). You can update this field only for a sales OLI and only when the sales OLI is in the `Executing` state (when the `itemState` field is set as `Executing`).
    - `ownerAccountNumber` string — Use this field to assign an existing account as the owner of an order line item. You can update this field only for a sales OLI and only when the sales OLI is in the `Executing` state (when the `itemState` field is set as `Executing`).
    - `productCode` string — The product code for the Order Line Item (OLI). You can update this field only for a sales OLI and only when the sales OLI is in the `Executing` state (when the `itemState` field is set as `Executing`).
    - `purchaseOrderNumber` string — Used by customers to specify the Purchase Order Number provided by the buyer. You can update this field only for a sales OLI and only when the sales OLI is in the `Executing` state (when the `itemState` field is set as `Executing`).
    - `quantity` number — The quantity of units, such as the number of authors in a hosted wiki service. You can update this field for a sales or return OLI only when the OLI in the `Executing` state (when the `itemState` field is set as `Executing`).
    - `recognizedRevenueAccountingCode` string — The recognized revenue accounting code for the Order Line Item (OLI). You can update this field only for a sales OLI and only when the sales OLI is in the `Executing` state (when the `itemState` field is set as `Executing`).
    - `relatedSubscriptionNumber` string — Use this field to relate an order line item to an subscription. Specify this field to the subscription number of the subscription to relate. You can update this field only for a sales OLI and only when the sales OLI is in the `Executing` state (when the `itemState` field is set as `Executing`).
    - `revenueRecognitionRule` string — The Revenue Recognition rule for the Order Line Item (OLI). You can update this field only for a sales OLI and only when the sales OLI is in the `Executing` state (when the `itemState` field is set as `Executing`).
    - `revenueRecognitionTiming` 'Upon Billing Document Posting Date' | 'Upon Order Activation Date' — Specifies the type of revenue recognition timing. Predefined options are listed as enum values in this API Reference. Other options might also be avaliable depending on the <a href="https://docs.zuora.com?resourceId=billing-configure-revenue-settings" target="_blank">revenue recognition policy configuration</a> in the Zuora Billing UI. You can update this field only for a sales OLI and only when the sales OLI is in the `Executing` state (when the `itemState` field is set as `Executing`). **Note**: This field is only available if you have the Order to Revenue feature enabled.
    - `revenueAmortizationMethod` 'Immediate' | 'Ratable Using Start And End Dates' — Specifies the type of revenue amortization method. Predefined options are listed as enum values in this API Reference. Other options might also be avaliable depending on the <a href="https://docs.zuora.com?resourceId=billing-configure-revenue-settings" target="_blank">revenue recognition policy configuration</a> in the Zuora Billing UI. You can update this field only for a sales OLI and only when the sales OLI is in the `Executing` state (when the `itemState` field is set as `Executing`). **Note**: This field is only available if you have the Order to Revenue feature enabled.
    - `invoiceGroupNumber` string, nullable — The number of the invoice group associated with the order line item. After enabling the Invoice Grouping feature, you can specify invoice group numbers to bill subscriptions and order line items based on specific criteria. For the same account, Zuora generates separate invoices for subscriptions and order line items, each identified by unique invoice group numbers. For more information, see [Invoice Grouping](https://docs.zuora.com?resourceId=billing-invoice-grouping). **Note**: - If you have the <a href="https://docs.zuora.com?resourceId=billing-attributes-for-flexible-billing" target="_blank">Flexible Billing Attributes</a> feature disabled, this field is unavailable in the request body and the value of this field is `null` in the response body. - If you have the Flexible Billing Attributes feature enabled, and you do not specify this field in the request during subscription creation, the value of this field is automatically set to `null` in the response body. - You can specify this field on a sales order line item when its state (that is, the `itemState` field) is `Executing`, `Booked`, or `SentToBilling`.
    - `sequenceSetId` string — The ID or number of the sequence set associated with the order line item. **Note**: - If you have the <a href="https://docs.zuora.com?resourceId=billing-attributes-for-flexible-billing" target="_blank">Flexible Billing Attributes</a> feature disabled, this field is unavailable in the request body and the value of this field is `null` in the response body. - If you have the Flexible Billing Attributes feature enabled, and you do not specify this field in the request during subscription creation, the value of this field is automatically set to `null` in the response body. - You can specify this field on a sales order line item when its state (that is, the `itemState` field) is `Executing`, `Booked`, or `SentToBilling`.
    - `paymentTerm` string — The payment term name associated with the order line item. **Note**: - If you have the <a href="https://docs.zuora.com?resourceId=billing-attributes-for-flexible-billing" target="_blank">Flexible Billing Attributes</a> feature disabled, this field is unavailable in the request body and the value of this field is `null` in the response body. - If you have the Flexible Billing Attributes feature enabled, and you do not specify this field in the request during subscription creation, the value of this field is automatically set to `null` in the response body. - You can specify this field on a sales order line item when its state (that is, the `itemState` field) is `Executing`, `Booked`, or `SentToBilling`.
    - `invoiceTemplateId` string — The ID of the invoice template associated with the order line item. **Note**: - If you have the <a href="https://docs.zuora.com?resourceId=billing-attributes-for-flexible-billing" target="_blank">Flexible Billing Attributes</a> feature disabled, this field is unavailable in the request body and the value of this field is `null` in the response body. - If you have the Flexible Billing Attributes feature enabled, and you do not specify this field in the request during subscription creation, the value of this field is automatically set to `null` in the response body. - You can specify this field on a sales order line item when its state (that is, the `itemState` field) is `Executing`, `Booked`, or `SentToBilling`.
    - `shipTo` string — Use this field to assign an existing account as the ship-to contact of an order line item, by the following rules: * If the `ownerAccountNumber` field is set, then this field must be the ID of a contact that belongs to the owner account of the order line item. * If the `ownerAccountNumber` field is not set, then this field must be the ID of a contact that belongs to the billing account of the order line item. The billing account is the order account. You can update this field only for a sales OLI and only when the sales OLI is in the `Executing` state (when the `itemState` field is set as `Executing`).
    - `soldTo` string — Use this field to assign an existing account as the sold-to contact of an order line item, by the following rules: * If the `ownerAccountNumber` field is set, then this field must be the ID of a contact that belongs to the owner account of the order line item. * If the `ownerAccountNumber` field is not set, then this field must be the ID of a contact that belongs to the billing account of the order line item. The billing account is the order account. You can update this field only for a sales OLI and only when the sales OLI is in the `Executing` state (when the `itemState` field is set as `Executing`).
    - `taxCode` string — The tax code for the Order Line Item (OLI). You can update this field only for a sales OLI and only when the sales OLI is in the `Executing` state (when the `itemState` field is set as `Executing`).
    - `taxMode` 'TaxInclusive' | 'TaxExclusive' — The tax mode for the Order Line Item (OLI). You can update this field only for a sales OLI and only when the sales OLI is in the `Executing` state (when the `itemState` field is set as `Executing`).
    - `transactionEndDate` string, date — The date a transaction is completed. The default value of this field is the transaction start date. Also, the value of this field should always equal or be later than the value of the `transactionStartDate` field. You can update this field for a sales or return OLI only when the OLI is in the `Executing` state (when the `itemState` field is set as `Executing`).
    - `transactionStartDate` string, date — The date a transaction starts. The default value of this field is the order date. You can update this field for a sales or return OLI only when the OLI is in the `Executing` state (when the `itemState` field is set as `Executing`).
    - `unbilledReceivablesAccountingCode` string — The accounting code on the Order Line Item object. This field is available only if you have enabled <a href="https://docs.zuora.com?resourceId=billing-order-to-revenue" target="_blank">Order to Revenue</a> or <a href="https://docs.zuora.com?resourceId=revenue-billing-integration" target="_blank">Zuora Billing - Revenue Integration</a> feature. You can update this field only for a sales OLI and only when the sales OLI is in the `Executing` state (when the `itemState` field is set as `Executing`).
  - `processingOptions` ProcessingOptions — Processing options for generating billing documents.
    - `billingOptions` BillingOptions
      - `documentDate` string, date — The invoice date displayed on the billing document.
      - `targetDate` string, date — Date through which to calculate charges for order line items if a billing document is generated. See [What is a Target Date?](https://docs.zuora.com?resourceId=billing-bill-runs-creation).
    - `runBilling` boolean — Indicates if the current request needs to generate a billing document. The billing document will be generated against all Order Line Items included in this order.

## Response `200`

OK

- GetOrderLineItemResponseType
  - `processId` string — The ID of the process that handles the operation.
  - `reasons` object[] — The container of the error code and message. This field is available only if the `success` field is `false`.
    - `code` string — The error code of response.
    - `message` string — The detail information of the error response
  - `requestId` string, uuid — Unique identifier of the request.
  - `success` boolean — Indicates whether the call succeeded.
  - `orderLineItem` OrderLineItem
    - `amount` number — The calculated gross amount for the Order Line Item.
    - `amountWithoutTax` number — The calculated gross amount for an order line item excluding tax. If the tax mode is tax exclusive, the value of this field equals that of the `amount` field. If the tax mode of an order line item is not set, the system treats it as tax exclusive by default. The value of the `amountWithoutTax` field equals that of the `amount` field. If you create an order line item from the product catalog, the tax mode and tax code of the product rate plan charge are used for the order line item by default. You can still overwrite this default set-up by setting the tax mode and tax code of the order line item.
    - `id` string, UUID — The sytem generated Id for the Order Line Item.
    - `invoiceGroupNumber` string, nullable — The number of the invoice group associated with the order line item. After enabling the Invoice Grouping feature, you can specify invoice group numbers to bill subscriptions and order line items based on specific criteria. For the same account, Zuora generates separate invoices for subscriptions and order line items, each identified by unique invoice group numbers. For more information, see [Invoice Grouping](https://docs.zuora.com?resourceId=billing-invoice-grouping). **Note**: - If you have the <a href="https://docs.zuora.com?resourceId=billing-attributes-for-flexible-billing" target="_blank">Flexible Billing Attributes</a> feature disabled, this field is unavailable in the request body and the value of this field is `null` in the response body. - If you have the Flexible Billing Attributes feature enabled, and you do not specify this field in the request during subscription creation, the value of this field is automatically set to `null` in the response body.
    - `quantityFulfilled` number — The fulfilled quantity for an order line item.
    - `quantityPendingFulfillment` number — The quantity to fulfill for an order line item.
    - `UOM` string — Specifies the units to measure usage.
    - `accountingCode` string — The accountingCode for the Order Line Item.
    - `adjustmentLiabilityAccountingCode` string — The accounting code on the Order Line Item object. This field is available in the request body schema only if you have enabled <a href="https://docs.zuora.com?resourceId=billing-order-to-revenue" target="_blank">Order to Revenue</a> or <a href="https://docs.zuora.com?resourceId=revenue-billing-integration" target="_blank">Zuora Billing - Revenue Integration</a> feature.
    - `adjustmentRevenueAccountingCode` string — The accounting code on the Order Line Item object. This field is available in the request body schema only if you have enabled <a href="https://docs.zuora.com?resourceId=billing-order-to-revenue" target="_blank">Order to Revenue</a> or <a href="https://docs.zuora.com?resourceId=revenue-billing-integration" target="_blank">Zuora Billing - Revenue Integration</a> feature.
    - `amendedByOrderOn` string, date — The date when the rate plan charge is amended through an order or amendment. This field is to standardize the booking date information to increase audit ability and traceability of data between Zuora Billing and Zuora Revenue. It is mapped as the booking date for a sales order line in Zuora Revenue.
    - `amountPerUnit` number — The actual charged amount per unit for the Order Line Item.
    - `billTargetDate` string, date — The target date for the Order Line Item to be picked up by bill run for billing.
    - `billTo` string — The ID of the bill-to contact of an order line item. An existing contact under the billing account is specified as the bill-to contact of the order line item. The billing account is the order account.
    - `billToSnapshotId` string — The snapshot of the ID for an account used as the bill-to contact of an order line item. This field is used to store the original information about the account, in case the information about the account is changed after the creation of the order line item. The `billToSnapshotId` field is exposed while retrieving the order line item details.
    - `billingRule` 'TriggerWithoutFulfillment' | 'TriggerAsFulfillmentOccurs' — The billing rule for the Order Line Item.
    - `contractAssetAccountingCode` string — The accounting code on the Order Line Item object. This field is available in the request body schema only if you have enabled <a href="https://docs.zuora.com?resourceId=billing-order-to-revenue" target="_blank">Order to Revenue</a> or <a href="https://docs.zuora.com?resourceId=revenue-billing-integration" target="_blank">Zuora Billing - Revenue Integration</a> feature.
    - `contractLiabilityAccountingCode` string — The accounting code on the Order Line Item object. This field is available in the request body schema only if you have enabled <a href="https://docs.zuora.com?resourceId=billing-order-to-revenue" target="_blank">Order to Revenue</a> or <a href="https://docs.zuora.com?resourceId=revenue-billing-integration" target="_blank">Zuora Billing - Revenue Integration</a> feature.
    - `contractRecognizedRevenueAccountingCode` string — The accounting code on the Order Line Item object. This field is available in the request body schema only if you have enabled <a href="https://docs.zuora.com?resourceId=billing-order-to-revenue" target="_blank">Order to Revenue</a> or <a href="https://docs.zuora.com?resourceId=revenue-billing-integration" target="_blank">Zuora Billing - Revenue Integration</a> feature.
    - `currency` string — The currency for the order line item. You can specify a currency when creating an order line item through the "Create an order" operation.
    - `customFields` OrderLineItemCustomFieldsRetrieveOrderLineItem — Container for custom fields of an Order Line Item object.
    - `deferredRevenueAccountingCode` string — The deferred revenue accounting code for the Order Line Item.
    - `description` string — The description of the Order Line Item.
    - `discount` number — This field shows the total discount amount that is applied to an order line item after the `inlineDiscountType`, `inlineDiscountPerUnit` and `quantity` fields are set. The inline discount is applied to the list price of an order line item (see the `listPrice` field).
    - `excludeItemBillingFromRevenueAccounting` boolean — The flag to exclude Order Line Item 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 <a href="https://docs.zuora.com?resourceId=billing-order-to-revenue" target="_blank">Order to Revenue</a> or [Zuora Billing - Revenue Integration](https://docs.zuora.com?resourceId=revenue-billing-integration) feature enabled.
    - `excludeItemBookingFromRevenueAccounting` boolean — The flag to exclude Order Line Item from revenue accounting. **Note**: This field is only available if you have the <a href="https://docs.zuora.com?resourceId=billing-order-to-revenue" target="_blank">Order to Revenue</a> or [Zuora Billing - Revenue Integration](https://docs.zuora.com?resourceId=revenue-billing-integration) feature enabled.
    - `inlineDiscountPerUnit` number — This field is used in accordance with the `inlineDiscountType` field, in the following manner: * If the `inlineDiscountType` field is set as `Percentage`, this field specifies the discount percentage for each unit of the order line item. For exmaple, if you specify `5` in this field, the discount percentage is 5%. * If the `inlineDiscountType` field is set as `FixedAmount`, this field specifies the discount amount on each unit of the order line item. For exmaple, if you specify `10` in this field, the discount amount on each unit of the order line item is 10. Once you set the `inlineDiscountType`, `inlineDiscountPerUnit`, and `listPricePerUnit` fields, the system will automatically generate the `amountPerUnit` field. You shall not set the `amountPerUnit` field by yourself.
    - `inlineDiscountType` 'Percentage' | 'FixedAmount' | 'None' — This field is used to specify the inline discount type, which can be `Percentage`, `FixedAmount`, or `None`. The default value is `Percentage`. This field is used together with the `inlineDiscountPerUnit` field to specify inline discounts for order line items. The inline discount is applied to the list price of an order line item. Once you set the `inlineDiscountType`, `inlineDiscountPerUnit`, and `listPricePerUnit` fields, the system will automatically generate the `amountPerUnit` field. You shall not set the `amountPerUnit` field by yourself.
    - `invoiceOwnerAccountId` string — The account ID of the invoice owner of the order line item.
    - `invoiceOwnerAccountName` string — The account name of the invoice owner of the order line item.
    - `invoiceOwnerAccountNumber` string — The account number of the invoice owner of the order line item.
    - `isAllocationEligible` boolean — This field is used to identify if the charge segment is allocation eligible in revenue recognition. **Note**: The field is only available if you have the <a href="https://docs.zuora.com/en/zuora-billing/set-up-zuora-billing/enable-order-to-revenue/overview-of-order-to-revenue" target="_blank">Order to Revenue</a> feature enabled. To enable this field, submit a request at <a href="https://support.zuora.com/" target="_blank">Zuora Global Support</a>.
    - `isUnbilled` boolean — This field is used to dictate how to perform the accounting during revenue recognition. **Note**: The field is only available if you have the <a href="https://docs.zuora.com/en/zuora-billing/set-up-zuora-billing/enable-order-to-revenue/overview-of-order-to-revenue" target="_blank">Order to Revenue</a> feature enabled. To enable this field, submit a request at <a href="https://support.zuora.com/" target="_blank">Zuora Global Support</a>.
    - `itemCategory` 'Sales' | 'Return' — The category for the Order Line Item, to indicate a product sales or return.
    - `itemName` string — The name of the Order Line Item.
    - `itemNumber` string — The number for the Order Line Item.
    - `itemState` 'Executing' | 'Booked' | 'SentToBilling' | 'Complete' | 'Cancelled' — The state of the Order Line Item. See [State transitions for an order, order line item, and fulfillment](https://docs.zuora.com?resourceId=billing-state-transitions-order-line-items) for more information.
    - `itemType` 'Product' | 'Fee' | 'Services' — The type of the Order Line Item.
    - `listPrice` number — The extended list price for an order line item, calculated by the formula: listPrice = listPricePerUnit * quantity
    - `listPricePerUnit` number — The list price per unit for the Order Line Item.
    - `originalOrderDate` string, date — The date when the rate plan charge is created through an order or amendment. This field is to standardize the booking date information to increase audit ability and traceability of data between Zuora Billing and Zuora Revenue. It is mapped as the booking date for a sales order line in Zuora Revenue.
    - `originalOrderId` string — The ID of the original sales order for a return order line item.
    - `originalOrderLineItemId` string — The ID of the original sales order line item for a return order line item.
    - `originalOrderLineItemNumber` string — The number of the original sales order line item for a return order line item.
    - `originalOrderNumber` string — The number of the original sales order for a return order line item.
    - `ownerAccountId` string — The account ID of the owner of the order line item.
    - `ownerAccountName` string — The account name of the owner of the order line item.
    - `ownerAccountNumber` string — The account number of the owner of the order line item.
    - `productCode` string — The product code for the Order Line Item.
    - `productRatePlanChargeId` string — Id of a Product Rate Plan Charge. Only one-time charges are supported.
    - `purchaseOrderNumber` string — Used by customers to specify the Purchase Order Number provided by the buyer.
    - `quantity` number — The quantity of units, such as the number of authors in a hosted wiki service.
    - `quantityAvailableForReturn` number — The quantity that can be returned for an order line item.
    - `recognizedRevenueAccountingCode` string — The recognized revenue accounting code for the Order Line Item.
    - `relatedSubscriptionNumber` string — Use this field to relate an order line item to an subscription. Specify this field to the subscription number of the subscription to relate.
    - `requiresFulfillment` boolean — The flag to show whether fulfillment is needed or not. It's derived from billing rule of the Order Line Item.
    - `revenueRecognitionRule` string — The Revenue Recognition rule for the Order Line Item.
    - `revenueRecognitionTiming` 'Upon Billing Document Posting Date' | 'Upon Order Activation Date' — Specifies the type of revenue recognition timing. Predefined options are listed as enum values in this API Reference. Other options might also be avaliable depending on the <a href="https://docs.zuora.com?resourceId=billing-configure-revenue-settings" target="_blank">revenue recognition policy configuration</a> in the Zuora Billing UI. **Note**: This field is only available if you have the Order to Revenue feature enabled.
    - `revenueAmortizationMethod` 'Immediate' | 'Ratable Using Start And End Dates' — Specifies the type of revenue amortization method. Predefined options are listed as enum values in this API Reference. Other options might also be avaliable depending on the <a href="https://docs.zuora.com?resourceId=billing-configure-revenue-settings" target="_blank">revenue recognition policy configuration</a> in the Zuora Billing UI. **Note**: This field is only available if you have the Order to Revenue feature enabled.
    - `sequenceSetId` string, nullable — The ID of the sequence set associated with the OrderLineItem.
    - `communicationProfileId` string, nullable — The ID of the communication profile associated with the subscription.
    - `shipTo` string — The ID of a contact that belongs to the owner account or billing account of the order line item. Use this field to assign an existing account as the ship-to contact of an order line item.
    - `shipToSnapshotId` string — The snapshot of the ID for an account used as the ship-to contact of an order line item. This field is used to store the original information about the account, in case the information about the account is changed after the creation of the order line item. The `shipToSnapshotId` field is exposed while retrieving the order line item details.
    - `soldTo` string — The ID of a contact that belongs to the owner account or billing account of the order line item. Use this field to assign an existing account as the sold-to contact of an order line item.
    - `soldToSnapshotId` string — The snapshot of the ID for an account used as the sold-to contact of an order line item. This field is used to store the original information about the account, in case the information about the account is changed after the creation of the order line item. The `soldToSnapshotId` field is exposed while retrieving the order line item details.
    - `taxCode` string — The tax code for the Order Line Item.
    - `taxMode` 'TaxInclusive' | 'TaxExclusive' — The tax mode for the Order Line Item.
    - `transactionEndDate` string, date — The date a transaction is completed. The default value of this field is the transaction start date. Also, the value of this field should always equal or be later than the value of the `transactionStartDate` field.
    - `transactionStartDate` string, date — The date a transaction starts. The default value of this field is the order date.
    - `unbilledReceivablesAccountingCode` string — The accounting code on the Order Line Item object. This field is available in the request body schema only if you have enabled <a href="https://docs.zuora.com?resourceId=billing-order-to-revenue" target="_blank">Order to Revenue</a> or <a href="https://docs.zuora.com?resourceId=revenue-billing-integration" target="_blank">Zuora Billing - Revenue Integration</a> feature.
    - `fulfillments` FulfillmentGet[] — Container for the fulfillments attached to an order line item.
      - `fulfillmentNumber` string — The sytem generated number for the Fulfillment.
      - `id` string, UUID — The sytem generated Id.
      - `billTargetDate` string, date — The target date for the Fulfillment to be picked up by bill run for billing.
      - `carrier` string — The carrier of the Fulfillment. The available values can be configured in **Billing Settings** > **Fulfillment Settings** through Zuora UI.
      - `customFields` FulfillmentCustomFields — Container for custom fields of a Fulfillment object.
      - `description` string — The description of the Fulfillment.
      - `excludeItemBillingFromRevenueAccounting` boolean — The flag to exclude Fulfillment 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 <a href="https://docs.zuora.com?resourceId=billing-order-to-revenue" target="_blank">Order to Revenue</a> or [Zuora Billing - Revenue Integration](https://docs.zuora.com?resourceId=revenue-billing-integration) feature enabled.
      - `excludeItemBookingFromRevenueAccounting` boolean — The flag to exclude Fulfillment from revenue accounting. **Note**: This field is only available if you have the <a href="https://docs.zuora.com?resourceId=billing-order-to-revenue" target="_blank">Order to Revenue</a> or [Zuora Billing - Revenue Integration](https://docs.zuora.com?resourceId=revenue-billing-integration) feature enabled.
      - `externalId` string — The external id of the Fulfillment.
      - `fulfillmentDate` string, date — The date of the Fulfillment.
      - `fulfillmentLocation` string — The fulfillment location of the Fulfillment. The available values can be configured in **Billing Settings** > **Fulfillment Settings** through Zuora UI.
      - `fulfillmentSystem` string — The fulfillment system of the Fulfillment. The available values can be configured in **Billing Settings** > **Fulfillment Settings** through Zuora UI.
      - `fulfillmentType` 'Delivery' | 'Return' — The type of the Fulfillment.
      - `orderLineItemId` string, UUID — The reference id of the related Order Line Item.
      - `quantity` number — The quantity of the Fulfillment.
      - `state` 'Executing' | 'Booked' | 'SentToBilling' | 'Complete' | 'Cancelled' — The state of the Fulfillment. See [State transitions for an order, order line item, and fulfillment](https://docs.zuora.com?resourceId=billing-state-transitions-order-line-items) for more information.
      - `trackingNumber` string — The tracking number of the Fulfillment.

## Other responses

- `500` — Internal Server Error
- `4XX` — Request Errors

---

[API](https://skmtc.dev/zuora/apis/api-reference.md) · [All operations](https://skmtc.dev/zuora/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/zuora/api-reference/revisions/d11e237f3e54/schema)
