---
sourceDocument: Australia Sales Customer Relationship Management
sourceDocumentLink: https://www.servicenow.com/docs/r/australia/order-management

 Release :

    - australia

ft:locale :

    - en-US

ft:publication_title :

    - Australia Sales Customer Relationship Management

ft:clusterId :

    - omgmt

bundleId :

    - omgmt

workflow :

    - Customer and Industry


---

# Transaction line-level system fields

# Transaction line-level system fields {#ariaid-title1}

Release version: Australia  
Updated May 7, 2026  
![](https://www.servicenow.com/docs/portal-asset/ico-clock) 11 minutes to read  
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 {#quote-tm-line-level-system-fields__field-naming}

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`.

{#quote-tm-line-level-system-fields__ul_znd_3l2_pjc}

For header-level field naming conventions, see [Transaction-level system fields](https://www.servicenow.com/docs/BC0xXECkN4m3zlEf9qaZHA "Reference for the system-provided fields at the transaction (header) level in Quote Experience, including variable names, descriptions, who can modify each field, and default values.").

## Modifiable by {#quote-tm-line-level-system-fields__modifiable-by-key}

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 {#quote-tm-line-level-system-fields__line-identity-fields}

{#quote-tm-line-level-system-fields__tbl_line_identity__entry__3}

| 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 |
[Table 1. Line identity and audit fields]

{#quote-tm-line-level-system-fields__tbl_line_identity}

## Product fields {#quote-tm-line-level-system-fields__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.
{#quote-tm-line-level-system-fields__tbl_product__entry__3}

| 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 |
[Table 2. Product fields]

{#quote-tm-line-level-system-fields__tbl_product}

## Line behavior fields {#quote-tm-line-level-system-fields__line-behavior-fields}

{#quote-tm-line-level-system-fields__tbl_line_behavior__entry__3}

| 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 |
[Table 3. Line behavior fields]

{#quote-tm-line-level-system-fields__tbl_line_behavior}

## Configuration fields {#quote-tm-line-level-system-fields__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.
{#quote-tm-line-level-system-fields__tbl_configuration__entry__3}

| 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 |
[Table 4. Configuration fields]

{#quote-tm-line-level-system-fields__tbl_configuration}

## Fields installed with the quoting experience {#quote-tm-line-level-system-fields__now-core-line-fields}

The following fields are installed when the ServiceNow CPQ quoting experience is enabled and are available to all tenants.
{#quote-tm-line-level-system-fields__tbl_now_core_line__entry__3}

| 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 |
[Table 5. Core quoting experience line fields]

{#quote-tm-line-level-system-fields__tbl_now_core_line}

## Pricing fields {#quote-tm-line-level-system-fields__pricing-line-fields}

The following fields are installed when the Pricing tenant setting is enabled.
{#quote-tm-line-level-system-fields__tbl_pricing_line__entry__3}

| 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 current. Changing a pricing-affecting field marks the line as needing a reprice, and the state persists across rules-engine calls until a successful pricing call clears it. Drives the per-line stale-pricing indicator in the quote lines grid. | Empty. Modifiable by: System |
| `txn.line.pricing.pricedAt` | Last Priced. Timestamp of the last successful pricing calculation for the line. | Empty. Modifiable by: System |
| `txn.line.pricing.priceOverride` | Price Override. A user-supplied net price that replaces the calculated price for the line. Preserved as a rep-supplied override and not overwritten by the next pricing call. | Empty. Modifiable by: User |
| `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 |
[Table 6. Line-level pricing fields]

{#quote-tm-line-level-system-fields__tbl_pricing_line}

## Opportunity sync fields {#quote-tm-line-level-system-fields__sync-line-fields}

The following field is seeded when the Opportunity Sync tenant setting is enabled.
{#quote-tm-line-level-system-fields__tbl_sync_line__entry__3}

| Variable name | Description | Default value |
|-|-|-|
| `txn.line.opportunity.lineItem` | Reference to the opportunity line item this line is synced to. | Empty. Modifiable by: System |
[Table 7. Opportunity sync line field]

{#quote-tm-line-level-system-fields__tbl_sync_line}
**Related concepts**   

* [Quote transaction fields](https://www.servicenow.com/docs/HvOcEMg~gZcYfzJjjvHxCg "ServiceNow Quote Experience supports five field types at two levels —transaction (header) and transaction line —enabling administrators to capture all required quote data in ServiceNow CPQ.")  
**Related reference**   

* [Transaction-level system fields](https://www.servicenow.com/docs/BC0xXECkN4m3zlEf9qaZHA "Reference for the system-provided fields at the transaction (header) level in Quote Experience, including variable names, descriptions, who can modify each field, and default values.")
* [Date and time field fields](https://www.servicenow.com/docs/EYB2Q~jyi5QscBpcU~lkXA "Reference for how date and time fields behave in ServiceNow CPQ ServiceNow Quote Experience rules and scripts, including comparison operators, null handling, and supported aggregate functions.")

