Estimating

Prefer to watch? This guide has 19 step-by-step videos. Watch the videos

Estimating is where you price a job. You build an estimate line by line (or import it), set your markup, and once it’s approved it becomes the source of two important things: the contract price you put in front of the client, and the budget you track costs against in Job Cost. This guide covers building estimates, composites, importing, linking to takeoff, separable portions, specifications, and the approve-then-budget flow.

Cost codes first. Every included or allowance line that you want carried into the budget needs a cost code. If your codes aren’t set up yet, do that before you estimate (see Jobs & Job Cost).


How estimates work

  • A job can have multiple estimates — each is a version (revision), so you can price options or re-estimate as the design firms up.
  • An estimate moves through Draft → Submitted → Approved, and can also be Rejected or Archived. Issue to Client on the estimate sheet marks a Draft as Submitted.
  • Only one estimate per job can be Approved at a time. Approving a new one archives the previously approved estimate.
  • An Approved estimate is locked — you can’t change its line items. This protects the budget and contract price that depend on it. You can un-approve to edit again, with two caveats (below).

Builder cost vs. contract price

Every line carries two numbers:

  • Builder cost — what it costs you to do the work (the sum of material, labour, subcontractor, equipment and other costs × quantity). This is what becomes your budget.
  • Contract price — builder cost plus markup. This is what the client pays.

The difference, captured when you approve, is your markup — and that’s the margin tracked separately from the budget in Job Cost.


Creating an estimate

  1. Go to Estimating > Manage Estimates and find the job: search by job name, number, client or address.
  2. Click New estimate in the job’s panel (or + New Estimate at the top). The job is already picked.
  3. Give it a Name (e.g. “Initial Estimate”) and leave the Status at Draft. To start a new revision from an earlier one, pick it in Copy from: its lines, composites, separable portions, document sets and takeoff come across, with its markup and cost code set. Tick Use separable portions if the job is priced in stages (see below).
  4. Click Create estimate. The new version appears in the panel; click Open Estimate Sheet to start pricing.

The cost code set that fills the cost code dropdown is chosen on the estimate sheet’s toolbar. It starts at your default set; change it there if this job uses a different one.


The detailed estimate sheet

The detailed estimate sheet is an Excel-like grid for pricing the job. Each row is a line item with:

  • Cost code — picked from the dropdown (the cost code set on the toolbar). Picking a code fills in its description and unit if the line doesn’t have them yet.
  • Specification status — Included, Excluded, Allowance, or Note only. This controls whether the line is part of the priced works, carried as an allowance, or just descriptive.
  • Allowance kind — when a line is an Allowance, mark it PC (prime cost, supply only) or PS (provisional sum, supply and install). Excess is the margin on anything the client spends over the allowance; leave it blank to follow the line’s markup.
  • Description, quantity and unit (lm, m², m³, ea, etc.).
  • Rate (ex GST) and Type — one rate per line, typed as Material, Labour, Subcontractor, Equipment or Other. Put supply and install on separate lines when you want both.
  • Calculation — start with = to work out the quantity like a spreadsheet (e.g. =4*96); the result fills Quantity. Refer to other lines with [quantity] (this line), [quantity:-1] (the line above, as the sheet shows it) or [rate:+1] (the line below); ? on the formula bar lists them. When a line you refer to changes, the Quantity updates with it. Type a figure straight into Quantity to override the calculation; it then stays as you typed it.
  • Markup % — a per-line markup that overrides the estimate-wide default.

As you fill in costs and quantities, the sheet calculates the line’s builder cost and contract price for you, and rolls them up to estimate totals.

Markup

Set Estimate Markup % and click Apply: it sets every line’s markup and becomes the default for new lines. Then override it on individual lines where you need a different margin. Set the estimate markup first, because Apply overwrites any line you’ve changed.

The header shows Cost, Markup and Total ex GST, and the Contract Price inc GST. With Auto-save ticked the sheet saves as you go; Save saves now.

Composite items

A composite item is an assembly — a parent row made up of several child lines (for example a “Waffle pod slab” composite containing pods, mesh, concrete, pumping and labour, or an “FC clad timber stud wall” composite containing studs, top and bottom plates, FC sheet, fixings and labour). Child rows can scale with the parent quantity or stay fixed.

  • Build a composite on the sheet and add its child lines.
  • Save a composite to the composite library to reuse it across estimates.
  • Manage your reusable composites in the composite library manager.

This lets you price repeatable scopes consistently instead of rebuilding them each time.

Pricing from vendor quotes

If you’ve run an RFQ and received vendor quotes (see Purchasing), you can apply a vendor quote line to an estimate line to drop the quoted rate straight onto your estimate, keeping a record of where the price came from.


The Price Library

A price library is a catalogue of priced lines you can build estimates from — your own rate schedule, a supplier’s catalogue, or a set of rates harvested from what you’ve actually paid. Libraries live at Settings → Price Libraries and are shared across the company.

Setting one up

A library has a name, a type — Internal (your own rates), Supplier (linked to a vendor), or Imported — an optional location (handy when your Brisbane and Gold Coast rates differ), an effective date and a status.

Each item carries:

  • Description, SKU / item code, category and sub-category
  • Unit — m², lm, ea, kg, whatever you work in
  • Five separate rates, ex GST — Material, Labour, Subcontractor, Equipment and Other. Splitting them means a line can carry supply and install separately, and the total rate is just the sum.
  • Min order qty and qty increment — for things that come in packs
  • Rate as at — the date that rate was true. This is what tells you a price is going stale.
  • An optional default cost code

Importing a price list

Import on a library walks you through four steps: Upload → Match → Review → Import.

Upload takes CSV, TSV, Excel or PDF. A PDF goes through OCR, so a supplier’s printed or scanned price list works as well as a spreadsheet — a long one shows its progress as it’s read.

Match is where you tell CortexPM what each column is. It pre-suggests from the headers; you correct what it got wrong. Description and Unit are required, plus at least one rate column. If the price column looks GST-inclusive you’ll see a GST will be stripped badge — rates are always stored ex GST.

Review shows the mapped rows with anything doubtful flagged. Drop the flagged rows in one go, or skip any rows sitting above the header row, then Import.

Choose whether existing items get updated or only new ones added. Existing items match on SKU first, then description plus unit. An update never overwrites a cost code you’ve mapped.

Watch out: the ceiling is 25,000 rows per file. A bigger catalogue needs splitting.

Keeping rates current

Adjust prices applies a percentage to every rate on the items you’ve ticked — 5 for 5% up, -2.5 for 2.5% down — and restamps the rate as at date. It only touches ticked items, so you can lift one category without disturbing the rest.

The better move is to harvest real rates. When you receive a supplier invoice, tick Harvest this invoice’s line items into the Price Library as paid rates on the OCR review screen and you’ll get a row-by-row confirmation before anything is written. You can also push a purchase order’s actual prices back into the library — see Purchasing.

Tip: harvesting is the difference between a price library that drifts out of date and one that tells you what things cost this month.

Using it on an estimate

On the estimate sheet, Add → Add From Price Library opens a search across every active library — type at least two characters, search hits description and SKU, tick what you want and Add to Estimate. Composite children can be pulled the same way from the composite library manager.

The important bit: the rate is copied onto the estimate line at the moment you add it. Adjust the library afterwards — bulk change, re-import, harvest — and existing estimate lines don’t move. Your priced job stays as you priced it. The line keeps a link back to the library item, so you can see where a rate came from.


Importing and exporting line items

For larger estimates, work in Excel and import:

  1. Download the estimate template — an Excel file with the right columns and dropdowns for Specification status and Type.
  2. Fill in your lines. Cost code can be left blank and selected later in the sheet if you prefer. If your cost code column reads like 380 - Concrete Foundations, the number is taken as the code and the rest as its name; a cell with no leading number is reported back to you rather than guessed at. A Calculation that starts with = is kept as a formula (the template’s Calculation column is formatted as text, so Excel keeps it as typed): plain arithmetic like =24+30+18 fills Quantity for you when you leave Quantity blank. A calculation that refers to other lines keeps the Quantity you give it until you press Enter on it in the sheet.
  3. Upload the file. CortexPM creates the line items. If one row has a problem, it’s skipped and reported — it won’t abort the whole import.

Watch out: you can’t import into an approved (locked) estimate. Unlock it first.

You can also export the estimate to PDF for your own records.


Linking to takeoff

If you’ve measured quantities in Takeoff (see Takeoff), estimate lines can be tied to takeoff items so their quantities stay accurate:

  • Once any line is linked to a takeoff item, the Takeoff button on the estimate toolbar grows a small second segment. A yellow badge on it shows how many linked lines no longer match their measured quantities (including each item’s waste allowance); a tick means they all match.
  • Click the segment to pull the latest measured quantities onto those lines, so a change on the drawings flows through to your pricing without retyping. Save the sheet first: the sync reloads the page, so the segment stays disabled while you have unsaved edits. On an approved estimate it shows a padlock instead: un-approve the estimate from Manage Estimates before syncing.

Allowances and what happens downstream

Marking a line as an Allowance and picking Prime Cost or Provisional Sum does more than label it. It sets up a chain that runs through the contract, the client’s selections and the final account.

  • Prime Cost (PC) — a supply item. Tapware, appliances, floor coverings.
  • Provisional Sum (PS) — supply and install. Landscaping, driveways.

Both are cost assumptions carried in the contract sum and reconciled against actual later.

Excess margin %. On an allowance line you can set an Excess Margin % — the margin you charge on any amount over the allowance. Leave it blank and the line’s own markup % is used, which is what most people want. Set it when a particular allowance warrants different treatment.

How it plays out: if the client’s selection comes in over the allowance, they pay the excess plus that margin. Under, and the saving is credited to them in full — you don’t take margin off a credit. If the choice matches the allowance exactly, there’s nothing to adjust.

What flows from here: the contract carries an Allowance Schedule, client selections get drafted from the allowances automatically, and the difference is booked through an Allowance Adjustment when the client chooses. See Contracts for the allowance register and CRM & Client Selections for the selection side.

Watch out: a specification is a snapshot. Change a markup or excess margin on the estimate afterwards and you need to Rebuild from estimate for the specification to match.


Separable portions

Enable separable portions on an estimate to split it into stages or portions (e.g. separable portions under the contract, or build stages). Line items and budgets can then be assigned to a portion, and costs, claims and reporting can be tracked per portion. Turn this on when the contract or program is structured in stages.

Portions are switched on when the estimate is created (Use separable portions in the New estimate dialog), and that choice can’t be changed from Edit details afterwards. If an estimate needs portions later, create a new version with the box ticked and Copy from the current one.


Specifications

A specification is the written scope document you put in front of a client — what’s included, excluded, allowances and notes — generated from your estimate.

Generating a specification

  1. From the estimate, open the specification wizard.
  2. The wizard maps your estimate line items into specification items, each classified as a Heading, Included, Excluded, Note, Allowance or Narrative.
  3. Review and generate. The specification is created with sections and clauses you can then refine.

Editing and structuring

  • Add, edit and reorder sections to organise the document.
  • Add clauses within sections for the detailed wording.
  • Allowances (Prime Cost / Provisional Sum) and schedules carry through from the estimate.

The specification lifecycle

A specification moves through Draft → Generated → Submitted to client → Approved, and can be Superseded when you issue a revised version.

  • Submit sends it for client review.
  • Approve / accept records the client’s acceptance.
  • Supersede replaces it with a newer version while keeping the history.
  • Export the specification or a proposal PDF to send to the client.

Issuing the proposal to the client

Issue to Client on the estimate sheet sends the proposal. You choose the recipient, the Proposal Layout (detailed breakdown or summary by trade) and whether to hide markup, which shows marked-up rates only and is ticked by default.

  • A client with portal access sees the proposal in their portal; anyone else gets a secure email link they can open without logging in.
  • The PDF they see is frozen at the moment of issue. Later changes to the estimate don’t reach it; issue again to send a revised one.
  • Issuing marks a Draft estimate Submitted. It then appears under Awaiting decision on the Estimating dashboard, with how long it has been out, and the client moves to Proposal in the CRM pipeline. You can set the same status by hand from Manage Estimates > Edit details.

Approving an estimate and creating the budget

This is the step that connects estimating to the rest of CortexPM.

  1. When the estimate is final, open the job in Manage Estimates, click Edit details, set the Status to Approved and Save changes. It locks (the sheet shows Approved (locked) on its toolbar and every cell is read-only), and any previously approved estimate for the job is archived.
  2. Approving creates the budget for you: CortexPM aggregates the estimate’s builder costs by cost code and writes them as the job’s budget lines (see Jobs & Job Cost). View Budget opens them in Job Cost. If an approved estimate ever has no budget, Create Budget appears in its place.

Approving also moves the client forward to Negotiation in the CRM pipeline.

Remember: the budget is builder cost only — markup is excluded and tracked separately. Every included/allowance line must have a cost code, or CortexPM will list the lines that are missing one and stop until you fix them.

Un-approving

If you need to change an approved estimate, un-approve it to unlock editing. Two things to know:

  • Once the job has a head contract, only the workspace Owner can un-approve, to correct a mistake. Contracts are created from the estimate, so it may then differ from the contract value.
  • If a budget has already been created from the estimate, un-approving and re-editing can affect your job cost figures. Approving it again updates the budget; check it afterwards.

Where to next

Estimates are most accurate when their quantities come straight off the drawings — see Takeoff. Once your estimate is approved and the budget is created, move on to Purchasing to start committing costs, or Contracts to formalise the head contract.