{{ section }} is not available to {{ role }}
The server refused this screen for your role and recorded the attempt. Hiding a button is not security, so the record itself is refused even by direct link.
What {{ role }} sees first
Every role lands on its own screen
Planned versus actual progress
Cumulative S curve, weighted by BOQ value
Planned
Actual
Planned
{{ plannedPct }}
Actual
{{ actualPct }}
Slippage
{{ slipPct }}
Delayed activities
{{ delayedCount }}
Budget against commitment
Committed, received and paid never share one number
{{ p.name }}
{{ p.committed }} / {{ p.budget }}
Committed
Received
Uncommitted
Needs management attention
Each row opens the record it refers to
Recent activity
Same events that appear in Audit History
{{ r.when }}
{{ r.action }}
{{ r.who }} · {{ r.no }}
Baseline approved 02 Jul 2026 · locked
Item
UoM
Budget qty
Reserved
Delivered
Available
Budget
Committed
Received
Paid
{{ r.budget }}
{{ r.committed }}
{{ r.received }}
{{ r.paid }}
{{ r.name }}
{{ r.code }}
{{ r.tag }}
{{ r.uom }}
{{ r.qty }}
{{ r.reserved }}
{{ r.delivered }}
{{ r.available }}
{{ r.budget }}
{{ r.committed }}
{{ r.received }}
{{ r.paid }}
No BOQ items match this filter
Clear the search or choose a different phase.
Baseline plus approved variations
{{ varItem.name }} · {{ varItem.code }}
{{ varItem.equation }}
{{ p.label }}
{{ p.value }}
{{ p.note }}
{{ varItem.held }} held by approved requests
{{ varItem.avail }} still available to request
Cancel an approved request and the held quantity returns to available. The approved baseline is never overwritten — the variation is a separate approved record, and the sum works the same way on every screen and every report.
Revision and variation history
An approved baseline is never silently overwritten. Changes are new revisions with an approver.
{{ v.rev }}
{{ v.what }}
{{ v.when }} · {{ v.who }}
Cement demonstration item
The line every step of the walkthrough traces back to
{{ c.label }}
{{ c.value }}
Projects
{{ projectName }}
{{ projectLoc }}
{{ f.label }}
{{ f.value }}
Project team
{{ t.ini }}
{{ t.name }}
{{ t.role }}
Number
Item and BOQ reference
Requested
Approved
Status
No material requests yet
Site requests raised against this project’s BOQ will appear here.
{{ reqDetail.no }}
Raised {{ reqDetail.date }} by {{ reqDetail.requester }}
{{ f.label }}
{{ f.value }}
Site notes. {{ reqDetail.notes }}
{{ reqDetail.attach }}
Attached on site
{{ reqDetail.hint }}
Select a request
Pick a row on the left to see its BOQ reference, site notes and approval history.
Approved requests ready for sourcing
Quantity here is the approved quantity, not what the site asked for
{{ a.item }}
{{ a.no }} · {{ a.code }} · required {{ a.required }}
{{ a.qty }}
approved
{{ a.budgetValue }}
at BOQ rate
No approved requests waiting
Approve a material request first and it will appear here with its BOQ reference.
{{ f.no }}
{{ f.sub }}
{{ f.status }}
Supplier
Unit price
Order value
Delivery
Terms and stock
{{ q.supplier }}
{{ q.flag }}
{{ q.price }}
{{ q.total }}
{{ q.delivery }}
{{ q.terms }}
{{ q.avail }}
Selected: {{ f.selected }}
{{ f.reason }}
No RFQs yet
Create one from an approved request on the previous tab.
PO
Item and references
Supplier
Qty
Committed
Received
Status
{{ p.date }}
{{ p.item }}
{{ p.refs }}
{{ p.supplier }}
{{ p.terms }}
{{ p.qty }}
{{ p.committed }}
{{ p.received }}
{{ p.status }}
Purchase orders awaiting delivery
A delivery can never exceed the outstanding purchase order quantity
{{ p.item }}
{{ p.refs }} · {{ p.supplier }}
{{ p.delivered }} of {{ p.qty }}
{{ p.outstanding }} outstanding
{{ p.received }}
of {{ p.committed }} committed
No purchase orders issued yet
Orders appear here once procurement issues them against an approved request.
Payable against received quantity
Accounting pays what was received, never what was ordered
{{ p.item }}
{{ p.refs }}
{{ p.committed }}
committed
{{ p.received }}
received
{{ p.paid }}
paid
{{ p.payable }}
payable
Nothing payable yet
A payable line appears once a delivery has been received against a purchase order.
Direct expenses outside a purchase order
Posted once only, with category, document, date and reference. A delivery already received cannot be double-counted here.
Posted / paid
{{ expTotal }} / {{ expPaid }}
Document
Category
What it was for
Amount
Date and reference
Status
Action
{{ x.doc }}
{{ x.category }}
{{ x.phase }}
{{ x.desc }}
{{ x.amount }}
{{ x.date }}
{{ x.ref }}
{{ x.status }}
No direct expenses posted
Use Post direct expense for a project cost that never passed through a purchase order.
{{ sub.name }}
{{ sub.scope }} package · linked to {{ sub.phase }}
{{ t.label }}
{{ t.value }}
Progress {{ sub.progress }}
Target {{ sub.target }}
{{ m.no }}
{{ m.status }}
{{ m.label }}
{{ m.amount }}
{{ m.ref }}
No subcontract packages yet
Award a work package and its milestones will be tracked against the linked BOQ scope.
Programme, planned against actual
Apr to Dec 2026 · grey bar planned, amber bar actual
Today 22 Aug 2026
Activity
{{ m }}
{{ g.name }}
{{ g.owner }} · {{ g.pct }} · {{ g.status }}
behind
{{ c.name }}
{{ c.count }}
{{ t.name }}
{{ t.owner }} · due {{ t.due }}
{{ t.priority }}
Nothing here
Cost variance by phase
Click any phase to drill down to the BOQ item and the source documents
Phase
Budget
Committed
Received
Variance
Project total
{{ totBudget }}
{{ totCommitted }}
{{ totReceived }}
{{ totVariance }}
Standard reports
{{ r.name }}
Cement line reconciliation
{{ c.label }}
{{ c.value }}
Date and time
User and role
Action
Record
Change
Reason
{{ a.ts }}
{{ a.user }}
{{ a.role }}
{{ a.action }}
{{ a.no }}
{{ a.type }}
{{ a.from }} to {{ a.to }}
{{ a.reason }}
User
Role
Assigned projects
Status
Last access
Invitation
{{ u.ini }}
{{ u.name }}
{{ u.status }}
{{ u.last }}
{{ u.invite }}
Role and project assignment changes here are simulated for the demonstration. Real authentication and permissions are configured during implementation.
Presenter script, one transaction end to end
Forty-four steps in eight chapters. Fifteen bags of cement, from the site request to the audit trail and the signed delivery. Click any step to jump the prototype there.
{{ c.name }}
{{ c.count }}
What is simulated in this prototype
{{ s }}
Rules the system enforces
{{ r }}
If this goes ahead
What happens next
Ten weeks from the discovery session to handover. No pricing or commercial terms on this screen.
{{ x.n }}
{{ x.what }}
{{ x.when }}
{{ x.detail }}
What we need to start
Twenty-two items in four groups. Each one names its owner, its format and why it is needed. Marking an item ready is written to the audit trail with your name and the time.
Ready
{{ startDone }} of {{ startTotal }}
{{ g.letter }}
{{ g.group }}
{{ g.count }} items
{{ i.n }}
{{ i.item }}
{{ i.owner }} · {{ i.format }}
{{ i.why }}
{{ c.label }}
{{ c.value }}
{{ thr.no }} · {{ thr.kind }}
{{ thr.subject }}
{{ f.label }}
{{ f.value }}
{{ thr.why }}
The conversation
{{ m.ini }}
{{ m.who }}
{{ m.role }}
{{ m.when }}
{{ m.text }}
{{ m.decision }}
{{ thr.waitingNote }}
{{ thr.outcome }}
Where a conversation comes from
Each one starts on a record, not in an inbox
{{ e.kind }}
{{ e.route }}
{{ e.when }}
The rules
{{ r }}
Who can do what
Seven roles, fixed in version one. The column for your current role is highlighted.
Action
{{ c.label }}
{{ r.name }}
{{ c.v }}
Hiding a button is not security. Every one of these rules is checked on the server, and the denial of each is tested, including a user who edits the address bar to reach another project's record.
What each role sees first
Switching role here signs you in on that role's own first screen
Seven roles cover the process in the agreed decks. An eighth user type is priced separately rather than quietly absorbed. Project context stays visible in the header at all times, and no operational record can be created without it.
Works offline
{{ o }}
Online only
{{ o }}
What the phone app will not do
{{ l }}