Estimate Pricing Method Overview
Estimate Pricing Methods provide a flexible and transparent way to price your estimates. They function as selectable pricing engines that determine how costs, rates, and margins are calculated.
Each pricing method is powered by an Apex plugin created using the ConfigurablePricingPlugin API. This framework surfaces your custom pricing logic as a selectable option in the user interface. This enables you to immediately see the impact of your custom code on values directly in the Estimate Builder, offering a clear view of how pricing is determined. For more information, see Plugins Overview.
There are three default methods:
- Cost Plus
- Time and Materials
- Baseline
You can apply them to your estimate products and independent records. You can create custom pricing methods using custom Apex code. For more information, seePermission Sets and Other Technical Documentation.
If you do not select an estimate pricing method, the estimate product or independent record calculates the price depending on the billing type of the record. For Time and Materials records, this would default to Time and Materials, and for Fixed Price records, this would default to Cost Plus.
The Fixed Price Margin (%) field is only editable when the Cost Plus pricing method is selected. Dated Bill Rates can only be used with the Time and Materials pricing method.
When an independent record uses the Cost Plus pricing method, the calculation depends on its relationship to a line set. If it is a child of a line set, the price is determined by the Cost Plus strategy, utilizing the Fixed Price Margin (%). If it is not part of a line set, the calculation reverts to the default Time and Materials method.
Cost Plus
When using the Cost Plus pricing method, the bill amount for each role request is calculated automatically based on the cost amount and the fixed price margin. Users can edit the Fixed Price Margin % field at the estimate, estimate product, or line set level. The lowest-level record in the estimate hierarchy takes priority, so a margin set on a line set overrides one set on an estimate product, which in turn overrides one set on the estimate.
The bill amount is derived using the following formula:
Bill Amount = Cost Amount ÷ (1 − Fixed Price Margin %)
For example, if the cost amount is $100 and the fixed price margin is 30%, the bill amount is $142.86.
Bill rates and net bill amounts at the role request level are read-only, as they are derived from the margin.
The following table explains field behaviors in the Estimate Builder when using the Cost Plus pricing method.
| Column Name | Record Type | Description |
|---|---|---|
| Fixed Price Margin % | Estimate, Estimate Product, Line Set | Editable. The lowest level record takes priority: line set overrides estimate product, which overrides estimate. |
| Cost Amount | Role Request | Read only. Calculated from cost rate × hours. |
| Net Bill Amount | Role Request | Read only. Calculated from the cost amount and fixed price margin. |
| Bill Rate Override | Role Request | Not used. The bill amount is determined by the cost amount and fixed price margin, not the bill rate. |
Time and Materials
When using the Time and Materials pricing method, the bill amount for each role request is calculated from the bill rate and the number of hours. Users can edit the bill rate directly on each role request, either by entering a bill rate override or by updating the suggested bill rate. If both are present, the override takes priority. If neither is set, the bill rate defaults to zero.
The bill amount is derived using the following formula:
Bill Amount = Bill Rate × Hours
Discounts can be applied at the estimate, estimate product, estimate task, or role request level. When a discount is applied, the net bill amount reflects the discounted value:
Net Bill Amount = Bill Amount × (1 − Discount %)
The following table explains field behaviors in the Estimate Builder when using the Time and Materials pricing method.
| Column Name | Record Type | Description |
|---|---|---|
| Bill Rate Override | Role Request | Editable. Takes priority over the suggested bill rate when set. |
| Suggested Bill Rate | Role Request | Editable. Used to calculate the bill amount when no override is set. |
| Hours | Role Request | Editable |
| Net Bill Amount | Role Request | Read only. Calculated from bill rate × hours, minus any applied discount. |
| Margin | Role Request | Read only |
| Discount % | Estimate, Estimate Product, Estimate Task, Role Request | Editable |
Baseline
When using this pricing method, users can manually edit the total bill amount at the line set level. Bill Rate column values are hidden in the builder and the bill amount is calculated using weighted distribution across the role requests based on hours. The Baseline Price set at line set level on a template is copied through to the related estimate line sets.
The bill amount carries through accurately to quotes via the Salesforce CPQ and Salesforce RLM connector.
The Baseline Price cannot be a negative value.
The following table explains field behaviors in the Estimate Builder when using the Baseline pricing method.
| Column Name | Record Type | Description |
|---|---|---|
| Net Bill Amount | Line Set | Editable. Defaults to the template Baseline price or zero if no Baseline price is set on the template. |
| Net Bill Amount | Task / Role Request | Read only |
| Bill Rate | All records | Read only |
| Margin (%) | Task, Role Request | Read only |
| Margin (Amount) | Task, Role Request | Read only |
| Discount (%) | All records | Editable |
Editable Fields Using Pricing Methods
| Estimate Pricing Method | Net Bill Amount | Margin (%) | Bill Rate | Discount (%) |
|---|---|---|---|---|
| Cost Plus (on Estimate Products) | Editable on estimate product level | Editable on estimate product level | Read only | Editable on estimate product level |
| Cost Plus (on Independent Records) | Read only | Editable in the Details tab | Read only | Editable in the Details tab |
| Time and Materials | Read only | Read only | Editable on role request level | Editable |
| Custom | Read only | Read only | Read only | Editable |
SECTIONS