EstimateItemSpec
Type: Object
A blueprint for generating a single line item within a cost estimate. It defines how to calculate the cost for a specific component or process, such as paper, printing, or binding. This is done using expressions that reference user-selected product configurations, linking customer choices directly to cost calculations. These specifications are a core component of the automated quoting engine.
Fields
| Name | Type | Args | Description | Deprecated |
|---|---|---|---|---|
| conditionExpression | String | Optional expression that must evaluate to true for this item to be included. | ||
| Examples: |
- "user_selections.cover_lamination == true"
- "user_selections.quantity >= 100"
- "user_selections.interior_color == :color"
If nil, item is always included. | | | costRateId | ID | | Reference to the cost rate to use for pricing | | | description | String! | | Description of this line item | | | discountAmount | Money | | Default discount amount to subtract | | | fixedPriceModifier | Money | | Optional fixed price to add/charge for this item (e.g., +$5.00 for lamination). If set, this is added to any cost rate calculation. | | | kind | String! | | The kind of estimate item (material, labor, finishing, etc.) | | | markupPercentage | Decimal | | Default markup percentage to apply (e.g., 0.20 for 20% markup) | | | order | Int | | Display order in estimate (lower numbers appear first) | | | quantityExpression | String! | | Expression to calculate quantity/units from user selections. Examples:
- "user_selections.quantity"
- "user_selections.page_count / 4"
- "1" (for fixed quantity items)
The expression has access to:
- user_selections: map of user's configuration choices
- config: the product config | |