- Markup classes, taken at creation
- The markup applied to an estimate is captured onto that estimate at the moment it is built. Change the class afterwards and every tender already sent is unaffected. Without this, a routine housekeeping edit silently rewrites what you quoted somebody last week.
- Per line locking
- A line can be locked so a bulk repricing pass leaves it alone. That is what makes an annual uplift usable on a live library: the negotiated rates you fought for are not casually overwritten by a percentage applied to everything.
- Sectional build ups
- An estimate is a schedule of sections rather than a flat list, priced from your own catalogues and price lists, with kits pricing a whole assembly on one line. Sections are what make an estimate comparable against the actual afterwards, and what make a claim capable of being capped.
- Templates and autofill
- An estimate structure saved once and imported into the next job of the same type. Institutional pricing knowledge accumulated over years, which is the thing no new system can hand you and the reason a decade old library is worth migrating carefully.
- Estimate against actual
- The loop closes: a discrepancy view compares estimated hours against hours logged, and estimated quantities against quantities used, section by section. That is how the next tender gets priced from what the last job cost rather than from a percentage uplift on a guess.
- The library's own completeness
- A page counts every item still missing a fit time, a purchase price, a retail price, a labour rate or a task time, and lets each gap be filled inline. Your price file's quality becomes a number a director can chase rather than a feeling somebody has.