Site Markup
Capture the job on a plan or photo. Placing a pin is the input — not a duplicate of it, and not a check on it.
Click any pin or trace point to remove just that one. Undo is the coarse correction; clicking is the fine one.
Pick the Site condition tool, then click the spot.
Input Quote
The job. Everything in the middle and right panes is calculated from these.
Start here. ① fence type ② length & spacing ③ corners and gates ④ the job. Everything else on this screen calculates itself.
A job on a mine site may have 1200, 1800 and 3600 fencing. Each is priced separately and appears on its own page of the quote; mobilisation is charged once for the visit.
For a fence the engine does not yet know. You type the description and every line and rate yourself; nothing is looked up and nothing is checked against the catalogue, which the Pre-Send Check says out loud. Labour is a line like any other — "Install crew, 3 days" — because a block is line items and nothing else.
Mobilisation, demobilisation and variations are billed at cost — there is no margin field for them anywhere, because the workbook has no margin cell in those blocks. Every costing figure is typed on the costing sheet and nowhere else — the job margin on row 72, gate margins on 92/101, gate installs on 90/99, labour days on 50–54, the day and variation rates on 74–76 and 79–81, the tier radios beside them, and variation hours on 82. Crews stays here: the workbook has no cell for it.
Gate-width escalation sits below all of these and beats every one of them: any gate over 5 m becomes 80 NB Med whatever is set here.
States 2 and 4 are 3250 mm — half a 6.5 m length, a zero-waste cut — and apply to continuous-rail types only. On anything else they do nothing at all, deliberately, rather than falling back to 3900.
Backstays and straining struts are independent and always have been. Setting a mode here never reduces the strut count — they solve different problems and the engine keeps them in separate modules so the coupling cannot come back.
The two manual modes require your own quantity — the engine refuses rather than costing nothing when it is absent.
Material Call-Up
What the engine resolved — and, behind the toggle, what it costs.
Internal — management use only
Site counts belong to the job, not to this quote. A correction like "only 95 posts fit" is a fact about the ground, so every quote for the job reads the same one. This quote is not linked to a job yet.
Saves this quote and links it.An extra on a priced fence — a hire item, a bracket, a subcontracted piece. A whole fence the catalogue does not cover is an off-catalogue block on 01 Input Quote instead, which gets its own page on the quote and its own heading here.
Anything the catalogue does not produce. The rate is yours — these lines are priced because you typed the price, so they are not "unpriced" lines.
Always ordered in 6.5 m lengths and grouped by resolved size — separate from the finished material list above, which is what goes in the ground.
Backstay and strut are independent. Struts brace the whole fence line; backstays add localised support at gate posts and signage panels. Both fire on their own conditions, and neither reduces the other.
Client Quote
The document the client receives.
Pre-Send Check
A correct formula fed a wrong number still looks wrong — check every line before you send.
Rules & Overrides
Why the engine did what it did. Reference — nothing here changes a quote.
Job Tracker
The only place a job is entered by hand. Time_Saved and Monthly_Report are read-only views of this list — never type a job twice.
Time Saved Tracker
Real evidence, not an estimate — log every quote and the proof builds itself. Every column auto-logs; minutes taken is a Job Tracker column, not a field here.
Monthly Report
A read-only view of Job Tracker, and a document that gets sent. Zero manual entry — every figure is computed from the log.
Price Onboarding
The only place a price is typed. Every line reads left to right as the formula: base → adjustment → live.
Gate Price Lookup
SSOT_GATES — organised by the dimensions that actually differ: frame, mesh, height, opening, leaf. Never a numbered list. The disambiguating context is visible, which is why editing is safe here and only here. Everything else → Price Onboarding
Purchase Orders
One order per supplier, raised from this job's material schedule and merged across every fence type on the job. ← Material Call-Up
The Material Call-Up is your costing and quantity worksheet. A purchase order is the document you send a supplier — it snapshots its lines the moment it is issued, so re-pricing a supplier later never changes an order already sent. Orders cannot be edited or deleted: correct a sent order by cancelling it and raising a new one, and a cancelled order keeps its number, because that number is in someone's inbox.