System owner. Does everything Lead Estimator can, plus manages Users, Roles, lookups, branding, and integrations.
Lead Estimator π’
Tender / Estimate control
The accountable owner for pricing. Does everything Estimator can, plus creates Tenders and Estimates, manages Commercials, runs Adjudications, and locks/submits estimates.
Estimator π’
Item-level work
The day-to-day build-up worker. Edits Items, Worksheets, Worksheet Resources, Variables, Calculations, Content Blocks. Cannot configure Estimates or run Commercials.
Key principles:
Roles are hierarchical β Admin β Lead Estimator β Estimator. If a capability is granted to Estimator, Lead Estimator and Admin automatically have it.
Every User has exactly one Role. Multi-role users not supported in v1.
Role is assigned in the oxFlow Admin page after M365 sync pulls in identity.
Admin capabilities are intentionally wide because Admins are the only ones who can affect system-wide configuration.
2. Scoping β who can do what, to what
Oxcon runs a flat team structure; oxFlow doesnβt need per-Tender or per-Estimate assignment-based permissions. Capability is driven entirely by Role:
Any Admin can do anything.
Any Lead Estimator can act on any Tender or Estimate in the workspace (including Lock, Submit, Publish).
Any Estimator can act on any Tender or Estimate in the workspace within the Estimator capability set.
The Lead Estimator field on an Estimate identifies the nominal owner for reporting and accountability β it does not gate access. Any Lead Estimator can still Lock, Submit, or Publish, regardless of whether theyβre the assigned Lead.
Admin-managed lookups and system-level configuration (Integrations, User/Role management) remain Admin-only.
Concurrency: multiple Users can edit the same Estimate simultaneously, with explicit per-Item locks. When one User is actively editing an Item (and its Worksheet), other Users see that Item as read-only with βcurrently edited by [User]β. Concurrent editing on different Items is unrestricted. Flagged π‘ for Oxcon workshop discussion.
3. Permissions matrix
Legend: β Allowed Β· β Not allowed Β· π Allowed under condition (footnoted)
These are the rules that really matter β where a wrong assignment would break things:
Only Admin can assign or change Roles. Everything else cascades from here.
Only Admin can manage Users, Codes, and Content Block Definitions. These have outsized system impact (identity, integration, shared content templates).
Only Admin can delete Tenders and Price Books. Deletes are destructive; Lead Estimators archive but donβt delete.
Estimators cannot modify Internal Price Books. Internal = shared, company-wide rate reference; changes need Lead Estimator or Admin approval.
System-generated Price Books are backend-only. Not visible in any UI to any Role. Managed entirely by the Adjudication workflow.
Lead Estimators can manage some shared config. Units, Categorizations, Flag Catalog, Modifier Catalog, Branding, and Company Roles can be edited by Lead Estimator β these are frequently touched during day-to-day work and donβt warrant Admin-only friction. Codes remain Admin-only due to integration linkage.