RockOps Wiki
Projects

Build a unit's estimate

Fill in a unit's Bill of Quantities — sections, line items, and a contingency — in a builder that saves as you type.

Overview

An estimate is a Bill of Quantities: a list of the work a unit needs, grouped into sections, each line priced by quantity and rate. It is what the project's budget is built from, and it is what gets submitted for approval before work can start.

On a multi-unit project every unit carries its own estimate, reached from the unit itself. On a single-unit project there is one estimate for the whole job, under the project's Estimate tab. The builder is identical either way.

Two things about it are unlike the rest of RockOps:

  • There is no save button. Every keystroke is written automatically after a short pause, and a small indicator beside the version number reports the state — Saving…, then ✓ Saved, or ⚠ Save failed if something went wrong. Leaving the page while it still reads Saving… risks losing the last edit.
  • The table is edited in place. Cells look like text until you click them, at which point they become inputs. There is no row form and no dialog.

Every figure is computed rather than entered. A line's total comes from its quantity and rate, a section's subtotal from its lines, and the grand total from the sections — all in whole paise, so the displayed lines always sum exactly to the displayed total.

Before you start

The project must still be in Draft and the estimate must still be in draft status. Once an estimate is submitted it locks and the builder switches to a read-only view; if the project has moved on while the estimate is still draft, the same read-only view appears with a banner naming the project's current status. Neither is editable, and there is no override.

Editing requires Administrator, Owner, or Project Manager.

If you intend to submit this estimate afterwards, two things have to be true first, and neither is set on this screen: the project needs at least one milestone, and the estimate total must be more than zero. Both are checked only at submit time, so it is worth knowing before you get there.

1. Open the unit's estimate

Each unit carries its own Bill of Quantities. An estimate with nothing in it shows a Start estimate button instead of a table — either route adds the first section.

Open the unit's estimate

2. Name the section and set its kind

Sections group the bill into parts you can total separately. Kind is one of Labour, Materials, Overheads, or Custom, and a new section starts on Custom.

Name the section and set its kind

3. Enter the first line item

Click any cell to edit it. Units are typed in caret form — m^3 — and the table renders them as m³. The line total is computed from quantity and rate; there is nothing to type in that column.

Enter the first line item

4. Add the remaining lines

Add line item appends a row to this section. The section's own subtotal sits in its header and updates as you type.

Add the remaining lines

5. Set a contingency and add notes

Contingency is a percentage of the grand total, in half-point steps up to 100. It is added on top rather than distributed across the lines, so it shows as its own row in the totals.

Set a contingency and add notes

6. The estimate totals itself

There is no save button — every change is written automatically, and the indicator beside the version number reports it. The totals panel breaks out each section, the grand total, the contingency, and the total with contingency.

The estimate totals itself

Field reference

Section

FieldRequiredRules
Section nameNoFree text. A section left unnamed shows as (Unnamed) in the totals panel rather than being rejected.
KindYesLabour, Materials, Overheads, or Custom. A new section starts on Custom.

Line item

FieldRequiredRules
DescriptionNoFree text — the work being priced.
UnitNoTyped in caret form and rendered as a superscript: m^3 displays as m³. The same convention as the material catalogue.
QtyNoA number; new lines start at 1.
Rate (₹)NoRupees per unit. Held internally as paise.
TotalNot editable. Quantity times rate.

Estimate

FieldRequiredRules
Contingency %No0 to 100, in steps of 0.5. Applied to the grand total and shown as its own line — it is not spread across the individual rates.
NotesNoFree text, for assumptions and caveats that don't belong in a line description.

Nothing here is individually required, which is why an estimate can sit at zero and only be refused at submit time.

Best practices

  • Group by trade or by stage, and name the sections. Section subtotals are the only breakdown the totals panel offers, so sections are what makes a long bill readable. (Unnamed) rows in the totals panel are a sign one was skipped.
  • Set Kind honestly. Labour, Materials, and Overheads are what let the numbers be read as a cost mix rather than one long list; leaving everything on Custom loses that for free.
  • Put assumptions in Notes, not in descriptions. Line descriptions are what the bill reads as; the reason a rate was chosen belongs in the notes field under the table.
  • Wait for the indicator to settle before navigating away. There is nothing to press, so Saving… is the only signal that work is still in flight.

Troubleshooting

"⚠ Save failed" — an auto-save did not reach the server. The edit is still on screen but not stored. Make any further change to trigger another save, and if it keeps failing, copy the affected lines out before leaving the page.

The cells won't accept typing — the estimate is no longer editable. Either it has been submitted or approved, or the project has left Draft. The banner above the table says which.

"Estimate is not in draft status" — the estimate was already submitted. Withdraw it to get back to a draft, or revise it if it has been approved or rejected.

"At least one master milestone is required before submitting" — the project has no milestones. Add one on the project's Milestones tab; this is a project level requirement, not something the estimate itself can satisfy.

"Estimate total must be greater than zero before submitting" — every line is missing a quantity or a rate. A contingency percentage alone does not create a value; it multiplies a grand total that is still zero.

A section shows as "(Unnamed)" — its name field was left blank. That is allowed, so it is easy to miss until the totals panel shows it.

On this page