Platform
One estimate file, tab by tab.
This page follows the user guide’s order. Every figure shown in the app comes from the engine; the screens only display, and the file records everything the engine used.
- Basis
- Equipment
- Class 3
- Simulation
- Economics
- Factors
- Results
- Risk
- Knowledge base
- Company sets
- Review
- Reports
- AI assist
- Help
Basis and class
New estimate asks for title, project, mode, location, currency, cost date, scope boundary (ISBL or ISBL plus OSBL), definition level and stated class. The class band follows you on every screen.
The class is assigned from the definition level you state. Class 3 is claimed only when that level sits in the Class 3 band and the estimate has at least one quantity-priced bulk line. If the engine disagrees with the stated class, the badge says so.
Open loads an autosaved estimate or a JSON file. A file made with a different methods library is flagged before anything recomputes; nothing is silently reapplied.
Equipment and bulks
An estimate runs in one of three modes.
- Class 5 — capacity. Add process units. Each picks a published unit-capacity record and a capacity, and scales by its own exponent. A unit outside the record’s published validity is flagged.
- Class 4 — equipment list. Add items from the library, enter vendor quotes, or import CSV or Excel with recognised header aliases. Each line carries type, tag, sizing parameter, material, design pressure and quantity. An out-of-range size turns the row amber.
- Class 3 — equipment plus quantified bulks. The Class 4 grid unchanged, plus quantity-priced lines for piping, civil, steel, electrical, instrumentation, insulation and painting, each a quantity you supply at a rate you can see and cite.
The grid is virtualised and keyboard-navigable: arrow keys and Enter move between cells, undo and redo are available, and column widths are a viewing convenience that never enters the file.
Class 3: bulks, layout and routes
In Class 3 mode you enter a labour basis — a productivity factor and a note saying where it comes from — and the engine warns until both are filled in. Bulk lines are priced from the unit rates and labour rates of the loaded company set; a line list or MTO imports with its rate key, quantity, discipline and from/to tags, and a quantity in the wrong unit is rejected rather than priced by accident.
The Layout tab holds pipe racks as axis-aligned polylines in metres. A bulk line’s route (from and to coordinates, an optional rack, an optional support spacing) makes the engine derive its length by a Manhattan route with elbows and supports counted; the plan view under the racks is drawn from the engine’s trace, not from an input.
Results and reports show bulks by discipline — material, labour, and the quantity-priced share of direct cost — so a reviewer can judge the estimate rather than take the class on trust.
Simulation
Import a process-simulator export as a versioned snapshot and link it to the estimate. The snapshot’s unit operations become estimate lines through the company set’s simulator mappings: simulator unit type to library record, size parameter, and where needed a sizing method with its constants. An unmapped type is listed, never guessed at.
Reconcile joins the linked snapshot to the estimate’s lines by tag and reports matched, snapshot-only, estimate-only and size drift. It is a comparison, not a re-import; nothing changes the estimate.
Economics and study
Add a techno-economic basis to any estimate: plant life, construction spend profile, discount and tax rates, depreciation, working capital, salvage, priced product and opex lines. The engine returns NPV, IRR, payback, discounted payback, the yearly cash flow and, when swings are configured, a sensitivity tornado. A library-seeded price row carries a warning wherever it is used.
A Study groups saved cases on one basis, evaluates every case through the engine, ranks them and draws the Pareto set. The discount-rate and plant-life sliders re-run every case; nothing is interpolated in the screen.
Factors
Choose the installed-cost method: Lang by process type, Hand by equipment type, Guthrie bare-module where the record carries its constants, or your own percentages. The CEPCI table is editable per year and your rows override the library’s.
The library carries only the US base location; any other location comes from a company location set or from an override with a required note. Assumptions can be recorded estimate-wide or against a line and print in the assumption register.
Allowances and contingency
Indirects, EPCM, owner’s cost and contingency are percentages with defaults from the library’s class table, each editable. The class table itself is a cited library record; the values are shown on the Method page as stored.
Results and trace
Totals, the WBS roll-up and per-line costs. Click any line to see its trace: purchased cost, material and pressure factors, installation, escalation, location, currency, quantity — each step with its inputs, its output and its source citation. This is the audit trail a reviewer needs.
Risk
Add risk lines against the whole estimate, a WBS area or one item, with a triangular or PERT range. Run Monte Carlo with a seed you set; the same seed gives the same answer. Read P10, P50, P90, the histogram and the tornado of swings per line.
Knowledge base
Bring in your own historical projects as as-built or vendor-priced rows. Every import is a new version; every version stays in the browser. Rows are shown escalated, re-located and currency-converted onto the estimate’s basis by the same steps the engine uses everywhere else, and a row missing an index year or factor shows its warning instead of a figure.
A calibration is the ratio of your history to the published correlation at the same size. Applied to a line, it is its own trace step, an entry in the assumption register and a line in the Basis of Estimate. Nothing about a calibrated number is hidden.
Company sets
A versioned layer over the published library: Lang and Hand sets, location factors, unit rates, labour rates, pipe specs, simulator mappings, price-deck rows and unit templates, every row with a source. Company rows merge over the library under their own prefix and never collide with a published key. The estimate records which layer version it was computed against and shows a banner if a different one is loaded.
Carry forward expands a Class 5 process unit into a Class 4 equipment skeleton from a company unit template. Sizes come from the template’s stated rule, not from design, and every expanded line carries that assumption.
Review
States run Draft, Checked, Approved, Issued. Each step is signed and recorded. Leaving Draft freezes the results: every panel, export and report shows the frozen figures and the editing screens are disabled. If the methods library changes meanwhile, the banner says so and nothing recomputes. Any state can reopen to Draft with a stated reason; the revision letter advances.
Comments attach to the whole estimate or to one line, resolve into the audit trail, and print in the Review record.
Compare, report, export
Duplicate makes a scenario. Reconcile attributes the change in total against a baseline, cause by cause, with a waterfall and a line diff. Benchmarks check ratios and unit costs against cited published ranges; a flag means look, not wrong.
Reports print as one PDF: Basis of Estimate under AACE 34R-05 headings, executive summary, cost breakdown, WBS, equipment or unit list, assumption register, unit rates, benchmarks, risk, reconciliation, calculation trace, sources and provenance, warnings and exclusions, review record. Excel exports summary, lines, trace, library records, CEPCI, assumptions and an editable equipment sheet; WBS exports in the shared Vantis schema; the whole estimate saves as JSON.
AI assist — optional
Off by default. With a provider configured, three buttons appear and nothing else changes. The model only ever proposes; you confirm, and the confirmation is written to the audit trail with the field it touched.
- Suggest record — on an import row that matched no library record or more than one, the model picks from the candidate list only.
- Extract from text — on a vendor-quote line, the model proposes price, currency, quote date, incoterm, scope and exclusions from pasted text; exclusions become assumptions on that line.
- Draft with AI — a Basis of Estimate narrative from the basis and the computed totals; a draft containing any figure not in results is refused outright.
It is model-agnostic: hosted providers, open-weight aggregators, or a local server on your own machine where nothing leaves it. No number the model returns enters a calculation. Every estimate computes identically with AI off, and the file never records which provider was used.
Help, offline, desktop
Every tab opens with a panel saying what it is for; every editable field has a note saying what to enter and where a junior estimator gets it; the Help tab lists every how-to. Help says where a value comes from and never states a factor, index or percentage — those are shown from the library. The Help tab lives in the app: open the app (sign-in required).
The browser build is one HTML file that opens with no network. An optional Windows desktop shell stores estimates and layers on disk, uses native file dialogs and opens .costbase files; its installer is built by CI and is unsigned.