Transaction line-level system fields
Reference for the system-provided fields at the transaction line level in CPQ Transaction Manager, including variable names, descriptions, who can modify each field, and default values.
Field naming conventions
Transaction Manager 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 | Modifiable by | 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. | System | Auto-generated by the system. |
txn.line.parent.id |
ID of the parent line. Used to establish parent-child relationships between lines in the quote lines grid. | User | Empty. The user passes this value. |
txn.line.created |
Timestamp when the transaction line was added. | System | Auto-generated by the system. |
txn.line.createdBy |
Name of the user who added the transaction line. | System | Auto-generated by the system. |
txn.line.modified |
Timestamp when the transaction line was last modified. | System | Auto-generated by the system. |
txn.line.modifiedBy |
Name of the user who last modified the transaction line. | System | Auto-generated by the 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. |
System | Empty. Generated when the line is added. |
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 | Modifiable by | Default value |
|---|---|---|---|
txn.line.isProduct |
Boolean indicating whether the product to be added is available in the catalog. | System | false |
txn.line.product.id |
Product ID of the product added to the line. Refreshed if Refresh Product Data is enabled. | System | Auto-generated by the system. |
txn.line.product.name |
Name of the product added to the line. Refreshed if Refresh Product Data is enabled. | System | Auto-generated by the system. |
txn.line.product.externalId |
External ID of the product, as defined in CPQ Admin utilities. Refreshed if Refresh Product Data is enabled. | System | Auto-generated by the system. |
txn.line.product.partnerId |
Partner ID of the product, as defined in CPQ Admin utilities. Refreshed if Refresh Product Data is enabled. | System | Auto-generated by the system. |
txn.line.product.productCode |
Product code of the product, as defined in CPQ Admin utilities. Refreshed if Refresh Product Data is enabled. | System | Auto-generated by the system. |
txn.line.product.description |
Description of the product added to the line. Refreshed if Refresh Product Data is enabled. | System | Auto-generated by the system. |
Line behavior fields
| Variable name | Description | Modifiable by | 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. |
User | true |
txn.line.isReorderable |
Indicates whether the line can be reordered within the quote lines grid. | User | true |
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 — for example, when deleting a top-level line, this field is set to
true for all child lines deleted by the event. Reset to false after all event actions complete. |
System | false |
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) for a configuration.
These fields remain unused if the line has no configuration.
| Variable name | Description | Modifiable by | Default value |
|---|---|---|---|
txn.line.isConfigured |
Boolean indicating whether the line is a simple configured product or the top-level line of a parent-child configuration. Set to true automatically when a configuration is added. |
System | false |
txn.line.configuration.id |
UUID of the configuration. | System | Empty if no configuration. |
txn.line.configuration.solutionId |
UUID of the solution the configuration belongs to. | System | Empty if no configuration. |
txn.line.configuration.status |
Configuration validation status. Supports the Validate configured items event setting. | System | Empty. Generated when lines are added. |
txn.line.configuration.validatedAt |
Date of the last configuration validation. Supports the Validate configured items event setting. | System | Empty. Generated when lines are added. |
txn.line.configuration.item.id |
Configuration item ID of items in the BOM once a configuration is added. | System | Empty if no configuration. |
txn.line.configuration.item.price |
Price of a BOM item once a configuration is added. | System | 0. Does not exist if there is no configuration. |
txn.line.configuration.item.quantity |
Quantity of a BOM item once a configuration is added. | System | 0. Does not exist if there is no configuration. |
txn.line.configuration.item.type |
Type of a BOM item once a configuration is added. | System | Empty if no configuration. |
txn.line.configuration.item.notes |
Notes for a BOM item once a configuration is added. | System | Empty if no configuration. |
txn.line.configuration.item.description |
Description of the BOM item as defined when the configuration item was created. | System | Empty if no configuration. |
txn.line.configuration.item.parentProduct
|
Configuration item ID of the parent product for a BOM item in a parent-child configuration. | System | Empty if no configuration. |
txn.line.configuration.item.uom |
Unit of measure for the BOM item, as defined when the item was created. | System | Empty if no configuration. |
txn.line.configuration.item.bomType |
BOM type of the configuration item, as defined when the item was created. | System | Empty if no configuration. |
txn.line.configuration.item.extPrice |
Extended price of the BOM item, as defined in the extPrice column of the configuration item. |
System | 0. Does not exist if there is no configuration. |
txn.line.configuration.item.orderNumber
|
Order number of the BOM item when it was added. | System | Empty if no configuration. |
txn.line.configuration.item.rollUpPrice
|
Rollup price of the BOM item, as defined in the rollupPrice column when the item was created. |
System | 0. Does not exist if there is no configuration. |
txn.line.configuration.item.uniqueIdentifier
|
Unique identifier for a BOM item, used to match configuration items on reconfiguration. The system sets this value and it cannot be changed after creation. | System | Empty if no configuration. |
txn.line.configuration.item.key |
Fallback key used to match BOM items on reconfiguration when the unique identifier cannot be used. | System | Empty. Generated when lines are added. |