QuoteLineItem

Represents a quote line item, which is a member of the list of Product2 products associated with a quote, along with other information about those line items on that quote. Available in API version 18.0 and later.

Supported Calls

create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(), retrieve(), search(), undelete(), update(), upsert()

Special Access Rules

The user must have “Edit” permissions on quote records to create or update quote line items on a quote. The user must have “Edit” permissions on quote records to delete a quote line item.

Some of the fields are available when you turn on Subscription Management.

Fields

Field Details
BatchIdentifier
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Identifier for a product bundle in a transaction processing batch. This value makes sure that quote lines from the same bundles process together.
BillingFrequency
Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The time period that indicates how often the quote line item is billed. This field is available in API version 55.0 and later. This field is available when Subscription Management is enabled.
Possible values are:
  • Annual
  • Monthly
BillingReference
Type
string
Properties
Create, Filter, Group, Nillable, Sort
Description
Reference to the original quote for which this quote line item is created. This field is available in API version 61.0 and later.
CurrencyIsoCode
Type
picklist
Properties
Defaulted on create, Filter, Group, Restricted picklist, Sort
Description

Available only for organizations enabled for multiple currencies. Contains the ISO code for any currency allowed by the organization.

If the organization has multicurrency and a Pricebook2 specified on the quote (the Pricebook2Id field isn’t blank), then the currency value of this field must match the currency of the PricebookEntry objects for any associated quote line items.

This value comes from the related quote and can't be changed.

CustomProductName
Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
Custom product name for the quote line item.
Description
Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
Text description of the line item. Limit: 225 characters.
Discount
Type
percent
Properties
Create, Filter, Nillable, Sort, Update
Description
The optional discount percentage, specified by the sales representative at the line level. Editable number from 0 to 100.
DiscountAmount
Type
currency
Properties
Create, Filter, Nillable, Sort, Update
Description
The fixed amount discount to apply to the quote line item. Available in API version 59.0 and later.
DoesAutomaticallyRenew
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates that the quote line item is set to automatically renew (True) or not (False).
The default value is false.
Division
Type
picklist
Properties
Defaulted on create, Filter, Group, Restricted picklist, Sort
Description
A logical segment of your organization's data. For example, if your company is organized into different business units, you could create a division for each business unit, such as “North America,” “Healthcare,” or “Consulting.” Available only if the organization has the Division permission enabled.
EffectiveGrantDate
Type
date
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The date on which the resources associated with the quote line item are granted.
EndDate
Type
picklist
Properties
Defaulted on create, Filter, Group, Restricted picklist, Sort
Description
If the quote line item is sold on subscription, this field indicates the date on which the subscription ends. This field is available in API version 55.0 and later. This field is available if Subscription Management is enabled in your org.

You can indicate a subscription’s length by using either StartDate and EndDate, or by using StartDate and SubscriptionTerm. If you provide a value for both EndDate and SubscriptionTerm, EndDate is used to determine the subscription’s length.

EndDateTime
Type
dateTime
Properties
Filter, Nillable, Sort
Description
The end date and time of the quote line item, which is derived from the End Date and End Time fields in the time zone specified in the Start and End Time Zone field. If the time zone isn't specified, the default is Coordinated Universal Time (UTC).
This field is available in Revenue Cloud in API version 65.0 and later.
EndQuantity
Type
double
Properties
Filter, Nillable, Sort
Description
If the quote line item is sold on a subscription, this field indicates the end quantity when the subscription ends. This field is available in API version 60.0 and later. This field is available with Subscription Management.
EndTime
Type
time
Properties
Create, Filter, Nillable, Sort, Update
Description
The end time of the quote line item.
This field is available in Revenue Cloud in API version 65.0 and later.
HasQuantitySchedule
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Read-only. Indicates whether the opportunity line item that the quote line item is synced with has a quantity schedule.
HasRevenueSchedule
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Read-only. Indicates whether the opportunity line item that the quote line item is synced with has a revenue schedule. If this object has a revenue schedule, the GrandTotal and TotalPrice fields can't be updated. In addition, the Quantity field can't be updated if this object has a quantity schedule. The system ignores any attempt to update this field. The update isn't rejected but the updated value is ignored.
HasSchedule
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Read-only. Indicates whether the line item uses schedules.
IsPrimarySegment
Type
boolean
Properties
Filter, Group, Sort
Description
Indicates whether the segment for the quote line item is a primary segment (true) or not (false).
The default value is false.
LastReferencedDate
Type
dateTime
Properties
Filter, Nillable, Sort
Description
The timestamp when the current user last accessed this record indirectly, for example, through a list view or related record.
LastViewedDate
Type
dateTime
Properties
Filter, Nillable, Sort
Description
The timestamp when the current user last viewed this record or list view. If this value is null, the user only accessed this record or list view (LastReferencedDate) but not viewed it.
LegalEntityId
Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The ID of the legal entity record associated with the quote line item.
This field is a relationship field.
Relationship Name
LegalEntity
Refers To
LegalEntity
LineNumber
Type
string
Properties
Autonumber, Defaulted on create, Filter, idLookup, Sort
Description
Read-only. An automatically generated number identifying the quote line item. In the form of QL-XXXXX.
ListPrice
Type
currency
Properties
Filter, Nillable, Sort
Description
Read-only. Corresponds to the UnitPrice on the PricebookEntry that is associated with this line item, which can be in the standard price book or a custom price book. A client app can use this information to show whether the unit price (or sales price) of the line item differs from the price book entry list price.
ListPriceTotal
Type
currency
Properties
Filter, Nillable, Sort
Description
The ListPrice times the Quantity. This field is a calculated field.
Margin
Type
percent
Properties
Create, Filter, Nillable, Sort, Update
Description
The optional margin percentage, specified by the sales representative at the line item level.
This field is available in Revenue Cloud in API version 65.0 and later.
MarginAmount
Type
currency
Properties
Create, Filter, Nillable, Sort, Update
Description
The optional margin amount, specified by the sales representative at the line item level.
This field is available in Revenue Cloud in API version 65.0 and later.
NetTotalPrice
Type
currency
Properties
Filter, Nillable, Sort
Description
The price after all adjustments, inclusive of quantity, prorated for the duration of the subscription. This field is a calculated field equal to TotalAdjustmentAmount plus TotalLineAmount.

This field is available in API version 56.0 and later. This field is available with Subscription Management.

NetUnitPrice
Type
currency
Properties
Filter, Nillable, Sort
Description
The unit price after all price adjustments are applied.
OpportunityLineItemId
Type
reference
Properties
Create, Filter, Group, Nillable, Sort
Description
ID of the related opportunity line item. This field is populated by the API during creation of the quote line item. Not editable. Available in API version 40.0 and later.
ParentQuoteLineItemId
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The unique identifier of the related line item in the parent quote.
This field is populated by the API during creation of the quote line item.
This field is available in version 58.0 and later. This field is available when Subscription Management is enabled.
This field is a relationship field.
Relationship Name
ParentQuoteLineItem
Relationship Type
Lookup
Refers To
QuoteLineItem
PartnerDiscountPercent
Type
percent
Properties
Create, Filter, Nillable, Sort, Update
Description
The partner’s discount percent applied to the quote lines. Available in API version 59.0 and later.
PartnerUnitPrice
Type
currency
Properties
Create, Filter, Nillable, Sort, Update
Description
The unit price after applying the discount given to the partner for the quote line item. Available in API version 59.0 and later.
PeriodBoundary
Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The period boundary helps determine the start and end date of the billing periods.

This field is available in API version 55.0 and later. This field is available with Subscription Management and Revenue Cloud.

Possible values are:
  • AlignToCalendar—the period starts on the first day of the term unit; for example, the first day of the month.
  • Anniversary—The start date determines the boundary. For example, if a monthly subscription starts on September 13, the subscription starts on the 13th day of each month.
  • DayOfPeriod—the period starts on the day indicated by PeriodBoundaryDay.
  • LastDayOfPeriod—the period starts on the last day of the pricing term unit.

Keep these considerations in mind for amendment, renewal, and cancellations of assets in Revenue Cloud.

  • The value of the PeriodBoundary field is copied from the AssetActionSource (initial sale), by default.
  • For termed selling models where the PeriodBoundary value is Anniversary, the value of the PeriodBoundary field is automatically converted to DayOfPeriod.
  • Start date adjustment operation on an asset preserves the original value without conversion.
PeriodBoundaryDay
Type
int
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
Required when PeriodBoundary is DayOfPeriod. Indicates day of the week or month that marks the period boundary. Must be an integer from 1 through 31.

This field is available in API version 55.0 and later. This field is available with Subscription Management and Revenue Cloud.

Keep these considerations in mind for amendment, renewal, and cancellations of assets in Revenue Cloud.

  • The value of the PeriodBoundary field is copied from the AssetActionSource (initial sale), by default.
  • When PeriodBoundary field value is converted from Anniversary to DayOfPeriod for termed selling models, the value of the PeriodBoundaryDay field is automatically populated with the day value from AssetActionSource.StartDate.
  • Start date adjustment operation on an asset preserves the original value without conversion.
PeriodBoundaryStartMonth
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Nillable, Sort, Update
Description
The field is populated based on input in the StartDate, PeriodBoundary, and PeriodBoundaryDay when BillingFrequency is Annual and PricingTermUnit is Annual or by manual user entry. Possible values are:
  • 1-January
  • 2-February
  • 3-March
  • 4-April
  • 5-May
  • 6-June
  • 7-July
  • 8-August
  • 9-September
  • 10-October
  • 11-November
  • 12-December

Keep these considerations in mind for amendment, renewal, and cancellations of assets in Revenue Cloud.

  • The value of the PeriodBoundary field is copied from the AssetActionSource (initial sale), by default.
  • For termed selling models where PeriodBoundary field value is Anniversary and PricingTermUnit field value is ANNUAL, SEMI_ANNUAL, or QUARTERLY, the value of the PeriodBoundaryStartMonth field is automatically recalculated by using AssetActionSource.StartDate.month.
  • Start date adjustment operation on an asset preserves the original value without conversion.
PricebookEntryId
Type
reference
Properties
Create, Filter, Group, Sort
Description
Required. ID of the associated PricebookEntry. Exists only for orgs with Products enabled. In API 38.0 and earlier, if Product2Id is populated with PricebookEntryId data, you receive an error message. In API 39.0 and later, Product2Id is nulled, and PricebookEntryId is populated with the PricebookEntryId data.
PriceRevisionPolicyId
Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The price uplift policy associated with this quote line item.
This field is a relationship field.
Relationship Name
PriceRevisionPolicy
Refers To
PriceRevisionPolicy
Label is Price Revision Policy.
This field is available in Revenue Cloud in API version 65.0 and later.
PricingContractId
Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The contract used for pricing that's associated with the quote line item.
This field is a relationship field.
Relationship Name
PricingContract
Refers To
Contract
PriceWaterfallIdentifier
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The price waterfall identifier generated by Salesforce Pricing that's associated with the pricing of the detail record. Available in API version 60.0 and later.
PricingTerm
Type
int
Properties
Filter, Group, Nillable, Sort
Description
The number of terms in the subscription. For example, if a monthly subscription is priced yearly, this field is 12.

This field is available in API version 55.0 and later. This field is available with Subscription Management.

PricingTermCount
Type
double
Properties
Filter, Nillable, Sort
Description
A calculated field indicating the number of pricing terms in the subscription. This field is available in API version 55.0 and later. This field is available with Subscription Management.
PricingTermUnit
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
The unit of time for the pricing term. This field is available in API version 55.0 and later. This field is available with Subscription Management.
Possible values are:
  • Annual—Available in API version 58.0 and later. UI label is Years.
  • Months.
Product2Id
Type
reference
Properties
Create, Filter, Group, Sort
Description
Required. ID of the Product2 associated with this QuoteLineItem. In API 38.0 and earlier, if Product2Id is populated with PricebookEntryId data, you receive an error message. In API 39.0 and later, Product2Id is nulled, and PricebookEntryId is populated with the PricebookEntryId data.
ProductInstanceIdentifier
Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The ID of the product instance that’s added to a quote. Each quote line item created for the same product instance has the same product instance identifier value.
ProductSellingModelId
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The ID of the related product selling model. This field is available in API version 55.0 and later. This field is available with Subscription Management.
This field is a relationship field.
Relationship Name
ProductSellingModel
Relationship Type
Lookup
Refers To
ProductSellingModel
ProrationPolicyId
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The ID of the related proration policy. This field is available in API version 55.0 and later. This field is available with Subscription Management.
This field is a relationship field.
Relationship Name
ProrationPolicy
Relationship Type
Lookup
Refers To
ProrationPolicy
Quantity
Type
double
Properties
Create, Filter, Sort, Update
Description
Required. The number of units for the line item.
QuantityUnitOfMeasureId
Type
reference
Properties
Create, Filter, Group, Nillable, Sort
Description
The unit of measure for the quantity, start quantity, and end quantity.
This field is a relationship field.
Relationship Name
QuantityUnitOfMeasure
Refers To
UnitOfMeasure
QuoteActionId
Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The ID of the related quote action. This field is available in API version 58.0 and later. This field is available with Subscription Management and Revenue Lifecycle Management.
This field is a relationship field.
Relationship Name
QuoteAction
Relationship Type
Lookup
Refers To
QuoteAction
QuoteId
Type
reference
Properties
Create, Filter, Group, Sort
Description
Required. ID of the associated quote.
QuoteLineGroupId
Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The ID of the quote line group for the quote line item.
This field is a relationship field.
Relationship Name
QuoteLineGroup
Refers To
QuoteLineGroup
QuoteLineItemRecipientId
Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The ID of the recipient for the quote line item.
This field is a relationship field.
Relationship Name
QuoteLineItemRecipient
Refers To
QuoteLineItemRecipient
RampIdentifier
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The ramp ID used to group quote line item segments.
RelatedQuoteLineItemId
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The quote line item ID related to the order item created.
This field is a relationship field.
Relationship Name
RelatedQuoteLineItem
Refers To
OrderItem
This field is available in Revenue Cloud in API version 65.0 and later.
SegmentIdentifier
Type
string
Properties
Filter, Group, idLookup, Nillable, Sort
Description
The ID of the segment.
SegmentName
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The name of the quote line item segment.
SegmentType
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
The time period for the segment.
Possible values are:
  • Custom
  • FreeTrial—Free Trial
  • Prorated
  • Yearly
The default value is Yearly.
SellingModelType
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates whether the quote line item is sold as a one-time purchase, an evergreen subscription, or as a termed subscription. This field is available in API version 55.0 and later. This field is available with Subscription Management.
Possible values are:
  • Evergreen
  • OneTime
  • TermDefined
The default value is OneTime.
ServiceDate
Type
date
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The date when the product revenue is recognized and the product quantity is shipped.
SortOrder
Type
int
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The value of where the line item is in the sorted order such as 1, 2, 3. The SortOrder value determines the order in which a quote line item appears in the Quote Line Items related list and the Quote PDF. Client apps can use this value to match the sort order in Salesforce. This field is only available in API versions 21.0 and greater.
StartDate
Type
date
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
If the quote line item is sold on subscription, this field indicates the date on which the subscription starts. This field is available in API version 55.0 and later. This field is available with Subscription Management.
StartDateTime
Type
dateTime
Properties
Filter, Nillable, Sort
Description
The start date and time of the quote line item, which is derived from the Start Date and Start Time fields in the time zone specified in the Start and End Time Zone field. If the time zone isn't specified, the default is Coordinated Universal Time (UTC).
This field is available in Revenue Cloud in API version 65.0 and later.
StartEndTimeZone
Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The time zone for the quote line item's start and end dates, times, and datetimes.
This field is available in Revenue Cloud in API version 65.0 and later.
StartTime
Type
time
Properties
Create, Filter, Nillable, Sort, Update
Description
The start time of the quote line item.
This field is available in Revenue Cloud in API version 65.0 and later.
StartQuantity
Type
double
Properties
Create, Filter, Nillable, Sort
Description
If the quote line item is sold on a subscription, this field indicates the item quantity when the subscription starts. This field is available in API version 60.0 and later. This field is available with Subscription Management.
StartingPriceTotal
Type
currency
Properties
Filter, Nillable, Sort
Description
The starting unit price times the quantity.
StartingUnitPriceSource
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates whether the starting unit price was entered manually or calculated. This field is available in API version 55.0 and later. This field is available with Subscription Management.
Possible values are:
  • Manual
  • System
  • Inherited
Status
Type
dynamic picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
Represents the status of the quote line item. This field is available in API version 60.0 and later. The QuoteLineItemStatus permission is required to access this field.
Possible values are:
  • In Progress
  • Pending
  • Approved
  • Rejected
Default value is In Progress.
SubscriptionTerm
Type
int
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
The number of terms in the subscription.

You can indicate a subscription’s length by using either StartDate and EndDate, or by using StartDate and SubscriptionTerm. If you provide a value for both EndDate and SubscriptionTerm, EndDate is used and SubscriptionTerm is ignored.

SubscriptionTermUnit
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
The unit of time used to define the subscription. This field is available in API version 55.0 and later. This field is available with Subscription Management.
Possible values are:
  • Annual—UI label is Years
  • Months
Subtotal
Type
currency
Properties
Filter, Nillable, Sort
Description
The line item's Quantity multiplied by the UnitPrice. In Revenue Cloud, Subtotal is set to TotalLineAmount when TotalLineAmount has a value.
TotalAdjustment
Type
percent
Properties
Filter, Nillable, Sort
Description
The total discount percentage applied at the line item level. This percentage is calculated by using the formula: (Total Line Amount - Net Total Price) / Total Line Amount.
This field is available in Revenue Cloud in API version 65.0 and later.
TotalAdjustmentAmount
Type
currency
Properties
Filter, Nillable, Sort
Description
The sum of the adjustments applied to the quote line item, inclusive of quantity, prorated for the duration of the subscription.

This field is available in API version 56.0 and later. This field is available with Subscription Management.

TotalCost
Type
currency
Properties
Filter, Nillable, Sort
Description
The total cost of all products sold in the quote, calculated by multiplying the quantity by the unit cost.
This field is available in Revenue Cloud in API version 65.0 and later.
TotalLineAmount
Type
currency
Properties
Filter, Nillable, Sort
Description
The total price of the quote line item, before price adjustments, inclusive of quantity, prorated for the duration of the subscription. This price is a calculated field equal to ListPrice times Quantity times PricingTermCount.

This field is available in API version 56.0 and later. This field is available with Subscription Management.

TotalMargin
Type
percent
Properties
Filter, Nillable, Sort
Description
The effective margin percentage at the line item level. This percentage is calculated by using the formula: (Net Total Price - Total Cost) / Net Total Price.
This field is available in Revenue Cloud in API version 65.0 and later.
TotalMarginAmount
Type
currency
Properties
Filter, Nillable, Sort
Description
The effective margin amount at the line item level. This amount is calculated by subtracting total cost from net total price.
This field is available in Revenue Cloud in API version 65.0 and later.
TotalPrice
Type
currency
Properties
Filter, Nillable, Sort
Description
Read-only. Calculated by applying the Discount to the Subtotal. This field is nillable, but you can't set both TotalPrice and to null in the same update. To insert the for a quote line item via the API (given only a unit price and the quantity), calculate this field as the unit price multiplied by the quantity. This field is read only if the quote line item has a revenue schedule.
UnitCost
Type
currency
Properties
Create, Filter, Nillable, Sort, Update
Description
The unit cost of a product sold as part of the quote.
This field is available in Revenue Cloud in API version 65.0 and later.
UnitPrice
Type
currency
Properties
Create, Filter, Sort, Update
Description
Required. The price per unit for the quote line item.
UnitPriceUplift
Type
percent
Properties
Create, Filter, Nillable, Sort, Update
Description
The percentage increase of the quote line item's unit price.
ValidationResult
Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
Specifies whether the quote line item was configured and priced by Revenue Lifecycle Management.
A quote can be activated only after all its quote line items are configured and priced by Revenue Lifecycle Management.
Valid values are:
  • Warning—Indicates that the quote line item wasn’t configured and priced by Revenue Lifecycle Management.
Available in API version 60.0 and later.
Visibility
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
Specifies how Salesforce shows a quote line item in the Transaction Line Editor and a quote document.
Possible values are:
  • Always—Quote line items are always displayed in the Transaction Line Editor.
  • Never—Quote line items aren't displayed in the Transaction Line Editor or in the quote document.
  • Quote Document Only—Quote line items are displayed only in the quote document, but not in the Transaction Line Editor.
  • Transaction Line Editor Only—Quote line items are displayed only in the Transaction Line Editor, but not in the quote document.
The default value is Always.

Usage

A quote record can have QuoteLineItem records only if the quote has a Pricebook2. A QuoteLineItem must correspond to a Product2 that is listed in the quote's Pricebook2.

If the multicurrency option is enabled, the CurrencyIsoCode field is present. It can't be modified, it’s always set to the value of the CurrencyIsoCode of the parent quote.

Note

Effects on Quotes

Quotes with related QuoteLineItem objects are affected in the following ways:

  • Creating a QuoteLineItem increments the quote value by the TotalPrice of the QuoteLineItem.
  • When you create or update a QuoteLineItem, the API verifies that the line item corresponds to a PricebookEntry in the Pricebook2 associated with the quote.

Associated Objects

This object has the following associated objects. If the API version isn’t specified, they’re available in the same API versions as this object. Otherwise, they’re available in the specified API version and later.

QuoteLineItemChangeEvent (API version 44.0)
Change events are available for the object.
QuoteLineItemHistory (API version 57.0)
History is available for tracked fields of the object.