Pricing sources
Work items can be priced from:- Internal rate and activity components.
- Supplier/location rate options.
- Project rate overrides.
- Manual rate rows — a unit cost you type directly on a component row with no rate library link. The preview and stored total both use the entered unit cost.
Live pricing preview
The pricing panel previews work-item totals in your browser as you make selections. This preview does not resolve the server’s component margin ladder. For the authoritative totals, review the saved server-calculated monetary totals after saving. Totals update when you change any pricing input: source, rate option, quantity, or manual overrides.Automatic price selection
When you first open a work item’s pricing, Stralos selects a default option for each component that has not yet been priced. Selection works through the following steps in order, stopping at the first match:- A choice pinned on the line: a rate option you explicitly selected on this line is kept.
- A price you typed on the line: a manual cost entered on the line is used directly.
- A project-specific rate option: if one or more rate options are scoped to this project, the option with the lowest resolved cost for the line’s quantity is selected.
- The project’s preference list: the project’s rate rules and pricing location are combined into a single ordered list. Stralos walks the list from the top and uses the first entry that covers this line and has a matching option. The pricing location sits at its configured position within the list, not always after the rules. If a covering rule has no matching option, the next entry is tried, and Stralos records the first skipped rule with the selection.
- The project office: if the project has an office set and an option at that office location exists, that option is selected.
- The cheapest supplier site within the project’s search distance: Stralos compares the sites it has measured a road distance to. It picks the cheapest option within the project’s Search distance. If the project has no saved search distance, it tries 50 km, then 100 km, then 150 km. If no measured site is that close, it picks the nearest measured site. If no site can be measured, it picks the cheapest option.
All-locations prices
A price set to All locations is sold at every site of its owner at the same rate. This applies to a supplier’s prices and to your company’s own prices: your own all-locations price is available at each of your own sites. Stralos measures it at each site:- The Closest quarry suppliers panel on the estimate summary shows the price once for each site.
- The rate option picker shows the distance to the supplier’s nearest site, followed by nearest site and the site name.
- At step 6, the price competes from its nearest measured site.
Default and pinned selections
When Stralos selects an option automatically, the rate option picker shows it as Default — option. The selection keeps the conditions that applied when the line was priced, so later changes to project or company settings do not move it on their own. When you select a rate option manually or edit a component, the line is pinned to that option. A pinned line still shows all available options from its rate item in the option picker, so you can switch to a different option or choose Default to let Stralos resolve the project’s preferred option. If rate data cannot load when you choose Default, Stralos shows “We couldn’t load the rate options. Please try again.” Calculator-generated lines take the project default in the same way as other lines. When a calculator adds a line or changes a line’s material, Stralos selects the default option and saves it as an automatic selection. Re-resolve prices and the automatic re-price after a project rate change treat automatic calculator lines like any other automatic line. A calculator line you have picked by hand stays pinned. Calculator disposal lines keep the calculator’s own conversion, so a re-resolve or re-price leaves them unchanged. Fixed-charge companion lines linked to a parent component cannot have their option changed independently. See Rate preferences for setup and details.Pricing snapshots
When you select a rate for a component, its pricing inputs are saved as a snapshot alongside your selection. The snapshot includes:- The effective unit cost.
- The chosen option’s pricing unit and conversion factor.
Value overrides
You can override individual values on a build-up line for this estimate without changing the underlying rate library entry. The Override pricing sheet covers Task, Category, Unit, Quantity, Resource count, and Unit cost. When you save a hand-edited value, the build-up line shows an Edited badge. In the Override pricing sheet, each edited field is marked Edited and its helper reads Changed by hand. Was … with the original value. Hover the badge to see the original value and what it was changed to — for example, Quantity: 12 → 15. To go back to the original values, open the Override pricing sheet and select Reset to source. This resets every overridden field on the line, not just one. The Edited marker does not affect automatic price selection or re-resolution. Overridden fields stay overridden until you reset them; an automatic re-resolve updates pricing inputs but does not clear hand-edited values.Rate table pricing
Some rate options are priced from a rate table. The price per unit depends on two things: the line’s quantity, across the top of the table, and a second value down the side, such as a cut depth or a concrete type. A rate table has no default row. A line priced from a rate table has no price until you choose a row, either by entering the side value, selecting a named row, or pinning a cell. Until then the line’s money cells read Row needed and the line adds nothing to the estimate total. Where rate options are listed with prices, a rate table option shows its lowest to highest price per unit, for example $90.00–$120.00/t. A build-up line priced from a rate table shows one button. Its label tells you what the table is using:- Choose row: nothing has been entered or chosen for the side yet, so the line has no price. The line also raises a Rate table choice needed exception.
- The row and column in use, for example 40 to under 50 mm · 10 to under 20 m².
Choose a row
Select the button to open the rate table in a side sheet. The sheet shows every price per unit and highlights the cell in use. Until you choose a row, the sheet reads No price until you choose a row.- When the side is a measured value, such as a cut depth in mm, type the value in the field above the table. The row comes from this value and the column from the line’s quantity.
- When the side has named rows, such as 20 MPa, 25 MPa, and 32 MPa, select a row name to choose it. Select the chosen row again to clear your choice. The line then has no price until you choose a row again.
Pin a cell
Select a price in the table to pin the line to that cell. The quantity then no longer moves the line to another column. Select the pinned price again, or select Follow the rate table, to clear the pin. You cannot pin a cell when a project rate prices the line.Quantity break pricing
Some rate options use quantity breaks, where the price per unit depends on the line’s quantity. The option charges in one of two ways:- Whole quantity: the whole quantity is charged at the price of the band it falls in. For example, if the price is $120 for under 41 units and $95 for 41 and over, 53 units are all charged at $95.
- Progressive: each band’s price applies only to the quantity within that band. In the same example, the first 41 units are charged at $120 and the remaining 12 at $95.
Autosave
Pricing selections are saved automatically roughly half a second after any change. A status indicator at the top of the pricing panel shows the current save state:- Saving pricing… — a save is in progress.
- Pricing selections saved — the last save completed successfully.
- An error message if the save could not complete. Your selections are kept in memory and will retry automatically.
When supplier prices can’t be refreshed
When the pricing panel’s background load of supplier options fails, a Supplier prices couldn’t be refreshed alert appears inline in the panel. The prices and suppliers already saved on the estimate remain visible. Other supplier options are not listed until the load succeeds. Select Retry in the alert to try again. Nothing is lost — your saved pricing selections are unaffected by a failed refresh.Pricing calculations
Pricing is affected by quantity, resource count, unit cost, the selected rate option, labour multiplier, and the component line’s unit. When an option is priced in another unit, its conversion factor and orientation must support conversion into that line unit; otherwise the option is excluded rather than priced in a mixed denomination.Weekly and monthly rate options
A rate option priced per week or per month, such as weekly plant hire, is converted using working days. This lets Stralos compare it with a daily option for the same item. For example, a 12-day hire at $600 per week with 4 days per week is 3 weeks, or $1,800. Stralos uses the first of these that is set:- A conversion saved on the build-up line. See Weekly and monthly rate conversions.
- The rate option’s own Days per week or Days per month.
- The project’s Days per week or Days per month in Project settings.
- Your company’s defaults, which start at 5 days per week and 20 days per month.
Whole stock units
When a line in metres or m² is priced from an option in len, roll (roll length), roll (roll area), or sheet, Stralos orders whole stock units. It rounds up for each run separately, because each run has its own start and end and the offcut from one run cannot start the next. The four stock units and what the rate option’s conversion factor means for each:
For a pipe priced per len at 6 metres per length:
- 100 m in one run orders 17 lengths.
- Two 12.5 m runs order 3 + 3 = 6 lengths, not 5.
- A resource count repeats the runs. A count of 2 on a 12.5 m line orders 6 lengths.
- On a per-unit line, each counted item is its own run. Five manholes with 12.5 m each order 5 × 3 = 15 lengths.
- A quantity you type over the calculated one is treated as one run.
- A line added with Insert into estimate items is stored as the total the dialog charged, so it is one run. Five manholes with 8 m each insert as 40 m, which orders 7 lengths (42 m), not 5 × 2 = 10 lengths.
Per-metre prices sold in lengths
Some materials are quoted per metre but sold in set lengths, such as pipe at $28.05/m in 6 m lengths. When a per-metre (m) project rate has a Sold in lengths of (m) value, Stralos orders whole lengths’ worth of metres for each run, at the per-metre price:- 8 m in one run orders 2 lengths (12 m): 12 m × $28.05 = $336.60.
- Two 12.5 m runs order 3 + 3 = 6 lengths (36 m).
Whole stock lines inside activities
When a whole-stock line sits inside an activity, the number of runs it orders follows the activity’s pricing basis. In an ordinary (per-unit) activity, the line inherits the work item’s runs. Two 12.5 m runs of pipe inside a per-unit activity order 3 + 3 = 6 lengths, the same as a top-level line. In a daily-production activity, the basis of the line decides the run count:- A Fixed line is charged once, whatever the activity’s Count. It is one run of its own quantity.
- A Per activity qty line is charged for the activity’s allocated quantity on each repeat, and each repeat is one run. For example, 0.625 m of geotextile per metre over 20 m of allocated quantity is 12.5 m per repeat, which at 6 m per length is 3 lengths. At Count 3 that is 3 × 3 = 9 lengths.
- A Per activity count line is charged once per repeat. Three repeats at 12.5 m each, at 6 m per length, order 3 × 3 = 9 lengths.
- A Per day line is charged once per working day. Four days at 12.5 m per day, at 6 m per length, orders 4 × 3 = 12 lengths. Fractional durations produce a proportional resource count on the final partial day.
Item kinds and pricing
- Measured and provisional quantity items use their selected cost build-up and the estimate’s pricing basis to calculate sell. Lump sum is no longer a separate item kind — an item in the LS unit is a measured item.
- Provisional sum items use the fixed allowance for both cost and price. No margin or markup is added.
Estimate-level commercial settings
Set the tender’s pricing default in Tender Submission → Markup or Margin. Both margin-basis and markup-basis estimates resolve percentages per component through the same five-rung ladder: component override, item category, resource group, tender default, and frozen company default. Contingency % in Estimate settings applies once to the estimate tender total. It does not change individual item totals or section subtotals. The working-day length is set per estimate. Edit Hours per working day in the estimate’s Estimate settings — see Estimate settings. Project settings shows the primary estimate’s current value read-only. Individual build-up lines can override it with h/day.Per-item markup
On markup-basis estimates, the work-item percentage field overrides the tender markup for measured and provisional-quantity items. Leave it blank to inherit, or enter 0% to price those item kinds at cost. The inline field in the Price column saves on blur or Enter. Escape restores its last saved value. The inline field and the estimate Settings percentage control currently save markup, even when their label follows a margin basis. For margin pricing, use Tender Submission → Margin instead.Keyboard navigation in the pricing grid
The quantity and markup cells in the pricing grid support keyboard navigation:Pricing grid columns
When pricing review is visible, the work items grid shows these columns for each item:
The Price column feeds the tender build. On either basis, category, resource-group and component percentages resolve per component; where none answers, the tender default does.
Commercial totals
The top of the pricing review grid shows four summary tiles:- Cost: sum of all work item costs before markup.
- Margin / Markup: commercial total labelled for the estimate’s basis.
- Tender price: sell total including contingency.
- Section subtotals: totals grouped by section.
Fixed-charge companion review
Some rate options include fixed charges — separate build-up lines that are charged once alongside the component. After a re-resolve or when a rate selection changes, Stralos may route you to Estimate schedule to review fixed charges that are linked to the updated components. The Review fixed charges panel shows each affected component and its associated charges. Charges are ticked by default; untick any that should not apply. Manually linked lines are shown for reference but cannot be changed here. Select Apply fixed charges to save your choices. Stralos routes you to this review automatically when a re-resolve identifies parent components whose fixed-charge set needs review. You can also open the review from a work item’s pricing panel.Fixed-charge companion error
If Stralos cannot fetch the current companion data for a component during an automatic re-price or re-resolve, the operation stops and shows an error that names the affected work item and line. Nothing is written.- During an automatic re-price (triggered when project rate data is updated), Stralos retries the re-price automatically. Pinning the line does not prevent the retry. If the error keeps appearing, delete the stale fixed-charge companion line from the work item’s build-up to let the re-price complete.
- During a re-resolve, you can either delete the stale fixed-charge companion line, or pin the affected line so re-resolve leaves it unchanged.
Rate exceptions
Rate exceptions identify components whose current selection or frozen pricing-rule outcome needs review. Stralos surfaces them automatically so you can resolve each one before submitting. A badge in the pricing panel shows the current exception count. Open the exceptions panel to see the full list.Exception types
Each exception describes a specific divergence. The panel labels each kind as follows:- Picked price beats a rate preference: you have pinned an option that differs from what a rate preference would select.
- Project rate beats a rate preference: a project rate applies and differs from what a rate preference would select.
- Rate preference can’t be met: a rate preference matched no eligible option, so pricing moved on to the next preference.
- Rate preference unmet: a distance-based rate preference’s radius does not include an eligible option for this project location.
- Rate preference changed: the component was priced under a rate preference that has since been changed or deleted.
- Picked supplier rate unavailable: the picked supplier rate is no longer available or eligible.
- No suitable supplier rate: no live option can price this component. The exception sentence names the line’s unit, the unit the rate is priced in (when they differ), and the specific remedy, for example to add or correct a conversion factor on the rate option, or to check the line’s unit. When the line and the rate use units that display identically (for example,
m2andsquare_metreboth display as m²), the sentence tells you to re-pick the unit on the line. Re-picking the unit resolves the mismatch. - Manual band: a manually selected pricing band differs from the automatic band.
- Rate table choice needed: nothing has been entered or chosen for the side of a rate table, so the line has no price. The sentence names the side, for example “no concrete type chosen, so this line has no price yet”. The only action is Choose row. See Rate table pricing.
- Condition mismatch: no frozen loading matches the condition charged on the line.
- Minimum over project rate: a minimum quantity increases a line priced from a project rate.
Resolving an exception
Each exception row shows a plain-language sentence describing the divergence, the cost difference where applicable, and one or more actions. Each action button names its outcome:- Keep this supplier or Keep the manual band: keep the current selection. The exception is recorded as accepted and hidden from the badge count.
- Use the rule’s option: replace the current selection with the option the rate preference would select. Estimate totals are recomputed immediately.
- Keep the current price, Keep the project rate, Keep the minimum charge, or Leave unpriced: record an acknowledgement without changing the selection. The row is hidden from the badge count.
- Pick another supplier: open the line so you can choose another option.
- Let the rate preferences choose: clear the pin so the rate preferences choose the price from now on.
- Use the automatic band: clear a manual band choice without unpinning the option or refreshing its frozen rules.
- Widen the search radius: open the rate preference so you can widen its distance.
- Choose row: open the rate table so you can choose the row. This is the only way to clear a Rate table choice needed exception, because a line with no price cannot be accepted as it is.
- Edit the project rate: open the project rate behind a Minimum over project rate exception.
- Supply input: open the missing input, such as the line’s condition, so the line can be priced.
- Check the line unit: open the component’s unit field so you can correct it. This action appears on a No suitable supplier rate exception when the fault is a unit mismatch between the line and the rate. Changing the unit to one the rate is priced in lets Stralos price the line.
Re-resolving prices
After resolving exceptions, use Re-resolve prices to apply updated default prices across all auto-priced components in one step. The panel shows a preview of every component that would change, grouped by resolution tier, before you confirm. See Automatic price selection for how tier resolution works.Unpriceable lines
Some build-up lines cannot be priced even when a rate is linked. This happens when every option of a linked rate is excluded for the line — for example, because the option’s unit cannot be converted to the line’s unit, or because no eligible option exists.Not priced marker
When a build-up row cannot be priced, it shows a Not priced marker. The marker describes why: for example, that the line’s unit and the option’s unit differ, or that no option can price the line. Stralos uses the same exclusion logic as the server. The marker appears only on rows that the server would also refuse to price — pinned rows, calculator-generated rows, and manually overridden rows are not marked.Effect on totals
A line marked Not priced contributes nothing to the work item total or the estimate total. The row caption below the work item reads N line(s) not priced and not included to make the omission visible. A work item with no unpriceable lines shows no such caption. This means the displayed total is a true sum of the lines that are priced. It does not include a substituted or fallback price for lines that cannot be priced.Options that cannot price a line
In the rate option dropdown for a build-up row, options that cannot price the line are not removed — they remain visible so they can be discussed. They are demoted below every option that can price the line and labelled Not priced. Selecting an option labelled Not priced raises a toast naming the fault and does not save the selection.Linking a rate whose options are all excluded
When you link a rate to a build-up row and every option of that rate is excluded for the line, Stralos saves the link and then raises a warning naming the item, both units, and the remedy. The line carries the Not priced marker after the link.Pricing override unit
In the pricing override modal, the Unit field refuses a catalogue unit alias — for example,hr is refused because hour is the catalogue unit. Stralos shows a validation message if you enter an alias. Use the full catalogue spelling instead. A unit that is not in the catalogue at all is accepted verbatim.
Review checklist
- Every work item has a clear pricing source.
- The estimate default markup reflects the agreed commercial position for this tender.
- Work items with a specific markup override are intentional, particularly any priced at cost (0%).
- Project overrides are intentional and documented.
- Per-item Markup % overrides are intentional; items without an override use the estimate default. Edit them inline in the Price column or through the item editor.
- Tender cost and tender price totals are reviewed after any quantity or rate change.

