Transaction line-level system fields

reference brazil Updated May 7, 2026 12 min read quote-tm-line-level-system-fields.md
Raw file servicenow.com

Reference for the system-provided fields at the transaction line level in ServiceNow CPQ ServiceNow Quote Experience, including variable names, descriptions, who can modify each field, and default values.

Field naming conventions

ServiceNow Quote Experience uses a consistent prefix convention for line-level field variable names.

  • System-generated line-level fields use the prefix txn.line. followed by the field name — for example, txn.line.id.
  • Custom line-level fields created by administrators use the prefix txn.line.custom. followed by the field name — for example, txn.line.custom.agreementDiscount.

For header-level field naming conventions, see Transaction-level system fields.

Modifiable by

  • System

    The field value is set only by the application. Users cannot edit system-modifiable fields, and administrators cannot set them using determination rules.

  • User

    Any user with the appropriate permissions can update the field value. Determination rule actions can also modify user-modifiable fields.

Line identity and audit fields

Variable name Description Default value
txn.line.id UUID of the transaction line. Must be unique across sectors and regions for one tenant; may not be unique across tenants. Auto-generated by the system. Modifiable by: System
txn.line.parent.id ID of the parent line. Used to establish parent-child relationships between lines in the quote lines grid. Empty. The user passes this value. Modifiable by: System
txn.line.created Timestamp when the transaction line was added. Auto-generated by the system. Modifiable by: System
txn.line.createdBy Name of the user who added the transaction line. Auto-generated by the system. Modifiable by: System
txn.line.modified Timestamp when the transaction line was last modified. Auto-generated by the system. Modifiable by: System
txn.line.modifiedBy Name of the user who last modified the transaction line. Auto-generated by the system. Modifiable by: System
txn.line.isNew Indicates whether a line is new (true) or existing (false). The value is true only during the event that creates the line. Empty. Generated when the line is added. Modifiable by: System

Product fields

Product fields are populated automatically when a product is added to the quote. Fields marked with a refresh note are also updated when the Refresh Product Data stage setting is enabled.

Variable name Description Default value
txn.line.isProduct Boolean indicating whether the product to be added is available in the catalog. false Modifiable by: System
txn.line.product.id Product ID of the product added to the line. Refreshed if Refresh Product Data is enabled. Auto-generated by the system. Modifiable by: System
txn.line.product.name Name of the product added to the line. Refreshed if Refresh Product Data is enabled. Auto-generated by the system. Modifiable by: System
txn.line.product.externalId External ID of the product, as defined in ServiceNow CPQ Admin utilities. Refreshed if Refresh Product Data is enabled. Auto-generated by the system. Modifiable by: System
txn.line.product.partnerId Partner ID of the product, as defined in ServiceNow CPQ Admin utilities. Refreshed if Refresh Product Data is enabled. Auto-generated by the system. Modifiable by: System
txn.line.product.productCode Product code of the product, as defined in ServiceNow CPQ Admin utilities. Refreshed if Refresh Product Data is enabled. Auto-generated by the system. Modifiable by: System
txn.line.product.description Description of the product added to the line. Refreshed if Refresh Product Data is enabled. Auto-generated by the system. Modifiable by: System

Line behavior fields

Variable name Description Default value
txn.line.isVisible Controls whether the line appears in the quote lines grid. Set to false to hide a line from the user without deleting it. true Modifiable by: System
txn.line.isReorderable Indicates whether the line can be reordered within the quote lines grid. true Modifiable by: System
txn.line.selected Used in rule conditions to perform actions on selected lines. Set to true when a line-level event runs on the line. Reset to false after all event actions complete. false Modifiable by: System

Configuration fields

Configuration fields are populated when a configurable product is added to the quote. Fields in the txn.line.configuration.item.* group relate to items in the bill of materials (BOM). These fields are empty if the line has no configuration.

Variable name Description Default value
txn.line.isConfigured Boolean indicating whether the line is a configured product or the top-level line of a parent-child configuration. Set to true automatically when a configuration is added. false Modifiable by: System
txn.line.configuration.id UUID of the configuration. Empty if no configuration. Modifiable by: System
txn.line.configuration.solutionId UUID of the solution the configuration belongs to. Empty if no configuration. Modifiable by: System
txn.line.configuration.status Configuration validation status. Supports the Validate configured items event setting. Empty. Generated when lines are added. Modifiable by: System
txn.line.configuration.validatedAt Date of the last configuration validation. Supports the Validate configured items event setting. Empty. Generated when lines are added. Modifiable by: System
txn.line.configuration.item.id Configuration item ID in the BOM once a configuration is added. Empty if no configuration. Modifiable by: System
txn.line.configuration.item.price Price of a BOM item once a configuration is added. 0. Does not exist if there is no configuration. Modifiable by: System
txn.line.configuration.item.quantity Quantity of a BOM item once a configuration is added. 0. Does not exist if there is no configuration. Modifiable by: System
txn.line.configuration.item.type Type of a BOM item once a configuration is added. Empty if no configuration. Modifiable by: System
txn.line.configuration.item.notes Notes for a BOM item once a configuration is added. Empty if no configuration. Modifiable by: System
txn.line.configuration.item.description Description of the BOM item as defined when the configuration item was created. Empty if no configuration. Modifiable by: System
txn.line.configuration.item.parentProduct Configuration item ID of the parent product for a BOM item in a parent-child configuration. Empty if no configuration. Modifiable by: System
txn.line.configuration.item.uom Unit of measure for the BOM item, as defined when the item was created. Empty if no configuration. Modifiable by: System
txn.line.configuration.item.bomType BOM type of the configuration item, as defined when the item was created. Empty if no configuration. Modifiable by: System
txn.line.configuration.item.extPrice Extended price of the BOM item, as defined in the extPrice column of the configuration item. 0. Does not exist if there is no configuration. Modifiable by: System
txn.line.configuration.item.orderNumber Order number of the BOM item when it was added. Empty if no configuration. Modifiable by: System
txn.line.configuration.item.rollUpPrice Rollup price of the BOM item, as defined in the rollupPrice column when the item was created. 0. Does not exist if there is no configuration. Modifiable by: System
txn.line.configuration.item.uniqueIdentifier Unique identifier for a BOM item, used to match configuration items on reconfiguration. Cannot be changed after creation. Empty if no configuration. Modifiable by: System
txn.line.configuration.item.key Fallback key used to match BOM items on reconfiguration when the unique identifier cannot be used. Empty. Generated when lines are added. Modifiable by: System

Fields installed with the quoting experience

The following fields are installed when the ServiceNow CPQ quoting experience is enabled and are available to all tenants.

Variable name Description Default value
txn.line.account Account associated with the line. Set from the transaction header. Empty. Set from header. Modifiable by: System
txn.line.contact Contact name associated with the line. Empty. Modifiable by: System
txn.line.displayNumber User-facing display number of the line. Empty. Modifiable by: System
txn.line.sysId ServiceNow system ID of the line. Empty. Modifiable by: System
txn.line.parentBomLineId ID of the line's parent BOM line. Empty. Modifiable by: System
txn.line.product.uom Product unit of measurement of the line. Empty. Modifiable by: System
txn.line.product.model Product model associated with the line. Empty. Modifiable by: System
txn.line.product.specification Product specification associated with the line. Empty. Modifiable by: System
txn.line.product.characteristics Product characteristics of the line. Empty. Modifiable by: System
txn.line.serviceLocation Service location associated with the line. Empty. Modifiable by: System
txn.line.startDate Start date of the line. Empty. Modifiable by: System
txn.line.endDate End date of the line. Empty. Modifiable by: System
txn.line.term Difference in months between the start date and end date for the recurring product on this line. Calculated automatically from the contract start date and contract end date. Empty. Modifiable by: System
txn.line.lineType Describes the change being made to the transaction line. Values: New, Renew, Upsell, Amend, Cancel, No Change. Empty. Modifiable by: System
txn.line.lineAction Indicates the action applied to the sold product. Values: Add, Change, Disconnect, No Change. Empty. Modifiable by: System
txn.line.isAutoGeneratedForRenewal Indicates whether this line was automatically generated from a renewal workflow. Empty. Modifiable by: System
txn.line.isAutoRenewContract Indicates whether the contract line is eligible for automatic renewal based on its expiration end date. Empty. Modifiable by: System
txn.line.source.entitlement References the entitlement from which this line was renewed. Empty. Modifiable by: System
txn.line.source.soldProduct Reference to the underlying sold product record from which this line was created. Empty. Modifiable by: System
txn.line.source.splitFromSoldProduct When a line is split due to an amendment, this field contains a reference to the underlying sold product record from the original line. Used for delta pricing calculations. Empty. Modifiable by: System
txn.line.source.contract References the existing contract from which this line was derived. Empty. Modifiable by: System
txn.line.source.contract.line Reference to the contract line from which this line was renewed. Empty. Modifiable by: System
txn.line.source.line Reference to the parent line item when a line was split due to an amendment. Used in the pricing payload as split_from. Empty. Modifiable by: System
txn.line.source.rootLine Reference to the root (original) line in a split or amendment chain. Empty. Modifiable by: System

Pricing fields

The following fields are installed when the Pricing tenant setting is enabled.

Variable name Description Default value
txn.line.pricebook Reference to the price list from which this line's list price is read. Empty. Modifiable by: System
txn.line.pricing.extendedPrice Extended Price. Calculated as Unit Net Price × Quantity. Empty. Modifiable by: System
txn.line.pricing.cost One-Time Cost. Cost for a product that is not recurring. Empty. Modifiable by: System
txn.line.pricing.unitCost Unit Cost. List cost as read from the cost book. 0 Modifiable by: System
txn.line.pricing.margin.amount Unit Margin Amount. Calculated as Unit Net Price minus Unit Net Cost. 0 Modifiable by: System
txn.line.pricing.margin.percentage Unit Margin %. Calculated as Unit Margin Amount divided by Unit Net Price × 100. Empty. Modifiable by: System
txn.line.pricing.rollupPrice Cumulative One-Time Price. An aggregate of the one-time price of itself and its child lines. Empty. Modifiable by: System
txn.line.pricing.rollupCost Cumulative One-Time Cost. An aggregate of the one-time cost of itself and its child lines. Empty. Modifiable by: System
txn.line.pricing.rollupNetCost Cumulative Net Cost. An aggregate of the one-time cost and monthly recurring cost over the term. 0 Modifiable by: System
txn.line.pricing.rollupNetPrice Cumulative Net Price. An aggregate of the unit net price of itself and its child lines. 0 Modifiable by: System
txn.line.pricing.rollupMargin.percentage Cumulative Margin %. An aggregate of the margin of itself and its child lines. Calculated as the rollup of Unit Margin Amount divided by Unit Net Price × 100. Empty. Modifiable by: System
txn.line.pricing.netPriceRecurring Monthly Recurring Price. For a recurring product, the monthly unit price. Empty. Modifiable by: System
txn.line.pricing.costRecurring Monthly Recurring Cost. The monthly cost of the product. Typically used in margin calculations. Empty. Modifiable by: System
txn.line.pricing.annualPriceRecurring Annual Recurring Price. Calculated as Monthly Recurring Price × 12 months. 0 Modifiable by: System
txn.line.pricing.rollupExtendedPriceRecurring Cumulative Monthly Price. Calculated as Net Unit Price per month × Quantity. Empty. Modifiable by: System
txn.line.pricing.rollupCostRecurring Cumulative Monthly Cost. An aggregate of the monthly recurring cost of itself and its child lines. Empty. Modifiable by: System
txn.line.pricing.rollupAnnualPriceRecurring Cumulative Annual Price. An aggregate of the annual recurring price of itself and its child lines. Empty. Modifiable by: System
txn.line.pricing.adjustment.manual Manual Adjustment. Stores the calculated adjustment amount derived from manual adjustments on the line. 0 Modifiable by: System
txn.line.pricing.adjustment.net Net Adjustment. Total adjustment amount for the line. Includes manual adjustments and any auto-applied adjustments per pricing rules. 0 Modifiable by: System
txn.line.pricing.adjustment.unit Unit Adjustment. Calculated as Total Adjustment divided by Quantity. 0 Modifiable by: System
txn.line.pricing.priceAdjustments JSON store for price adjustments, consumed by the adjustments UI. Empty. Modifiable by: System
txn.line.pricing.isDerived Flag indicating whether this product's price is derived from other products on the transaction. 0 Modifiable by: System
txn.line.pricing.adjustment.renewalBasis Renewal Adjustment Basis. Specifies the starting renewal price to use. List Price or Net Price of last ramp segment. Overrides the header-level setting if specified. list_price Modifiable by: System
txn.line.pricing.adjustment.renewalType Renewal Adjustment Type. Indicates whether the renewal adjustment value is a percentage or absolute amount. Empty. Modifiable by: System
txn.line.pricing.adjustment.renewalValue Renewal Adjustment Value. The percentage or amount to adjust the renewal price by, according to the Renewal Adjustment Type. Empty. Modifiable by: System
txn.line.source.rollupPrice Renewal Amount. Reference to the original cumulative net price prior to renewal. 0 Modifiable by: System
txn.line.pricing.delta.priceTreatment Delta Price Treatment. Determines the pricing treatment applied to the line based on line type, action, and whether product offer characteristics have changed. list_price Modifiable by: System
txn.line.pricing.delta.netPrice Delta Unit Net Price. Calculated as Current Unit Net Price minus Original Unit Net Price. Empty. Modifiable by: System
txn.line.pricing.delta.price Delta One-Time Price. Calculated as Current One-Time Price minus Original One-Time Price. Empty. Modifiable by: System
txn.line.pricing.delta.rollupNetPrice Delta Cumulative Net Price. Calculated as Current Cumulative Net Price minus Original Cumulative Net Price. Empty. Modifiable by: System
txn.line.pricing.delta.rollupPriceRecurring Delta Monthly Recurring Price. Calculated as Current Monthly Recurring Price minus Original Monthly Recurring Price. Empty. Modifiable by: System
txn.line.delta.upsellDownsellAmount Upsell or Downsell Amount. Calculated as the Current Cumulative Net Price minus Original Cumulative Net Price. Empty. Modifiable by: System
txn.line.pricing.state Pricing State. Indicates whether the line's pricing is up-to-date or needs a reprice. Set to Needs reprice when a pricing-affecting field on the line changes, and set to Up-to-date after a pricing call completes successfully. Drives the per-line stale-pricing indicator in the quote lines grid. Empty. Modifiable by: System
txn.line.pricing.adjustment.type Discount Adjustment Type. The type of manual adjustment applied to the line. Options: Markdown Amount, Markdown %, Price Override. Empty. Modifiable by: User
txn.line.pricing.adjustment.value Discount Adjustment Value. The amount or percentage of the manual adjustment, interpreted according to the Discount Adjustment Type. Empty. Modifiable by: User
txn.line.pricing.discountReason Discount Reason. The reason a manual discount or adjustment was applied to the line. Captured for auditing. Empty. Modifiable by: User

Opportunity sync fields

The following field is seeded when the Opportunity Sync tenant setting is enabled.

Variable name Description Default value
txn.line.opportunity.lineItem Reference to the opportunity line item this line is synced to. Empty. Modifiable by: System

Related topics

Quote transaction fields

Transaction-level system fields

Date and time field fields

Search documentation
Search document titles and file paths on the brazil branch