TaskRox
Version: May 2026 · taskrox.com
B2B project management for construction, civil, and mining teams.
This is the official TaskRox User Manual. It is current as of May 2026.
TaskRox is a B2B SaaS project and operations management platform built for construction, civil, mining, and infrastructure teams.
Domain: taskrox.com
TaskRox is structured around a unified project hub with project modules and global operations areas.
This manual module index includes:
Access to each module is controlled by role-based permissions.
TaskRox supports both finite project delivery and ongoing asset-intensive operations. This page explains what each workspace type means and how the platform supports them.
TaskRox is a project and operations management system for construction, civil, mining, infrastructure and asset-intensive teams.
A workspace in TaskRox may represent:
| Workspace Type | Meaning | Example |
|---|---|---|
| Project | Finite delivery scope | Haul Road Upgrade |
| Operation | Ongoing site or business operation | Smith Quarry FY2026 |
| Program | Collection of related works | Council Roads Program |
| Shutdown | Short controlled execution window | Crusher Shutdown May 2026 |
| Maintenance | Recurring maintenance or control stream | Fleet Maintenance FY2026 |
All workspace types use the same modules, RBAC model, and reporting structure. The difference is in how the work is framed — finite delivery vs ongoing operations.
A project workspace is for finite delivery work with a defined start, end, and scope.
Typical examples: - Capital construction works - Civil earthworks packages - Infrastructure upgrades - Building fit-outs - Remediation or rehabilitation programs
Projects use the Gantt for construction programs, QA for test requests and ITPs, HSE for incident management, and Budget for cost tracking against a defined contract value.
An operations workspace is for ongoing site or business activities that continue beyond a single project lifecycle.
Typical examples: - Quarry operations (crushing, screening, haulage, rehabilitation) - Landfill operations (cell construction, daily cover, compliance monitoring) - Civil plant yards (fleet maintenance, mobilisation, utilisation tracking) - Maintenance workshops (work orders, faults, service plans) - Mine support operations (drill and blast, load and haul support) - Facilities and asset operations
Operations use the Gantt for rolling schedules (annual compliance, planned maintenance, production campaigns), Daily Reports for shift-by-shift production and labour capture, Fleet for equipment registers and compliance, Workforce for operator readiness, and HSE for ongoing safety management.
Programs group related works — for example, a council annual roads program or a multi-site capital works rollout.
Shutdowns represent short, controlled execution windows — a crusher shutdown, plant turnaround, or scheduled outage — where the Gantt becomes a tightly sequenced execution schedule.
Maintenance workspaces track recurring maintenance and control streams — fleet maintenance programs, statutory inspection schedules, or planned equipment overhauls.
All three types use the same TaskRox modules. The workspace type helps frame the dashboard, Gantt, and reporting context.
The Gantt is relevant for operations as well as projects. For operations, the Gantt functions as a rolling operational schedule rather than a finite construction program.
Operational Gantt examples: - Annual compliance calendar - Planned maintenance schedule - Campaign crushing schedule - Quarry stage development - Rehabilitation works - Statutory inspections - Workforce training and refresher windows - Shutdowns and outages - Budget and reporting cycles
Use the same dependency types, calendar settings, and scheduling rules — the difference is in the planning horizon and the ongoing nature of the work.
All existing TaskRox modules work for operations workspaces:
Everything from signing up to running your first project.
Go to taskrox.com/signup and enter your name, email, and password. Your account is automatically created as Owner — the highest org role. A default organisation is provisioned.
After signup you land on the Portfolio Dashboard. You can rename your org under Organisation → Details.
Go to Organisation → Members and click Invite member. Enter the person's email and choose an org role:
They receive an email invitation to set a password. You then add them to individual projects and assign a role template.
Click the + button in the sidebar next to "Projects" (or click New project on the Portfolio Dashboard). Fill in:
The project appears in your sidebar. Click to expand and see its modules.
Top header — logo, global search (⌘K/Ctrl+K), notifications (bell), TaskRox AI, help (?), and user menu.
Sidebar — your project list. Click a project to expand its module tree. Use the panel-left icon to collapse the sidebar to an icon strip. When collapsed, the active project name appears as a pill in the header.
Project modules are grouped in the sidebar:
Global areas include My Tasks, Notifications, Workforce, Training, TaskRox AI, Settings, and Administration (platform super users only). The workspace grouping label is Operating Sites (separate from the organisation-wide Operations group).
Personal navigation preferences are under Settings → Preferences → Navigation: - Default landing page is Dashboard unless you select another allowed option. - If a saved landing page is no longer available, TaskRox falls back to Dashboard. - You can hide sidebar items for your own view, but preferences never grant access to restricted modules.
Keyboard shortcuts: - ⌘K / Ctrl+K — focus global search - Escape — clear search
Your cross-project work queue — every actionable item assigned to you in one place.
My Tasks is your personal operational inbox. It aggregates all actionable items assigned to you across every project and module into a single prioritised list.
My Tasks answers one question: what needs my action right now?
It is not a second Kanban board or a notification feed. Only items that require you to do something — update, respond, close, sign off — appear here.
Items are pulled from five modules. Each maps to a specific action:
| Module | Source | Action | "Assigned to me" rule |
|---|---|---|---|
| Kanban | Task cards | Update | You are the assignee |
| Gantt | Schedule tasks | Update | You are the assigned resource |
| RFI | Requests for Information | Respond | You are the assigned responder |
| NCR | Non-conformance reports | Close | You are the assigned closer |
| HSE | Corrective actions | Close | You are the assigned action owner |
Only items from projects where you are an active member are shown.
Four cards at the top give you an at-a-glance status:
Counts update when you switch filters.
Tabs switch between three views:
Filters narrow the list further:
| Column | What it shows |
|---|---|
| Status | Colour dot — red = overdue, amber = due today, blue = open, green = done |
| Item | Source label (e.g. RFI-0042) and title |
| Module | Badge showing Kanban, Gantt, RFI, NCR, or HSE |
| Project | Project colour dot and name |
| Action | What you need to do — Update, Respond, or Close |
| Due | Relative date — "2d ago", "Today", "in 5d" |
| Priority | Coloured flag — critical (red), high (orange), medium (blue), low (grey) |
The default sort order is: overdue first, then due today, then by due date ascending, then by priority.
Click any row to navigate directly to the source item's page — the RFI detail page, Kanban board, Gantt chart, NCR detail, or HSE incident.
This lets you take action immediately without hunting through individual project modules.
When no items match the current tab and filters, you see a "You're all caught up" message. This means there are no outstanding actions waiting for you — nice work.
Your event feed — stay informed about assignments, status changes, and activity across your projects.
The Notifications page shows a chronological feed of events relevant to you — new assignments, status changes, transmittals, and more.
Notifications vs My Tasks: Notifications tell you *what happened*. My Tasks tell you *what you need to do*. Notifications are an event log; My Tasks is a work queue. They are deliberately separate.
Access notifications from the bell icon in the top header (shows unread count) or via Notifications in the sidebar.
Organisation admins manage default notification behaviour from Organisation > Notifications.
This policy controls organisation-wide defaults for in-app notifications, email, digest eligibility, digest timing, user override rules and locked critical events. Users may still adjust personal preferences where the organisation permits it, but safety, security and governance-critical events can be protected from being disabled.
Notifications are grouped by date: Today, Yesterday, This week, and Older.
Each notification shows: - Icon — indicates the entity type (RFI, NCR, Transmittal, Test Request, or general) - Title — summary of the event - Body — additional detail (truncated) - Time — relative timestamp (e.g. "5m ago", "2h ago")
Unread notifications have a blue highlight and a left accent bar. Click a notification to mark it as read and navigate to the related item.
Filter tabs — toggle between All and Unread using the tabs in the top bar.
Mark as read — hover over an unread notification and click the check icon to mark it read without navigating away.
Mark all read — click Mark all read in the top bar to clear all unread indicators at once.
Dismiss — hover and click the trash icon to archive a notification. Archived notifications are removed from your feed.
You receive notifications for these events:
More notification types will be added as new modules integrate with the notification system.
In addition to in-app notifications, important events also send an email to your registered address. Emails are sent from notifications@taskrox.com.
If you are not receiving emails:
1. Check your spam/junk folder
2. Add notifications@taskrox.com to your contacts
3. Ask your org admin to verify the email service is configured
A full critical-path scheduling tool for project programs and rolling operational schedules.
The Gantt module provides a fully interactive timeline for project programs and rolling operational schedules. It supports:
Click + New task in the toolbar. A new row appears at the bottom of the label panel. Fill in:
Click any cell in an existing row to edit it inline. Press Enter or click away to save, Escape to cancel.
The DUR cell back-calculates end date when you change duration. The END cell calculates duration when you change end date.
Enter predecessor WBS codes in the PRED column (comma-separated). By default all dependencies are Finish-to-Start (FS) with zero lag.
Dependency types:
| Type | Symbol | Meaning |
|---|---|---|
| Finish-to-Start | FS | Successor starts after predecessor finishes |
| Start-to-Start | SS | Successor starts when predecessor starts |
| Finish-to-Finish | FF | Successor finishes when predecessor finishes |
| Start-to-Finish | SF | Successor finishes when predecessor starts |
Arrow colours on timeline: - Normal FS arrows — dashed line from predecessor end to successor start - Backward FS (constraint violation) — red arrow exiting predecessor start
FS scheduling rule: *Successor start = predecessor end date + 1 (working day)*. This matches CPM / Primavera P6 / MS Project convention. The Gantt automatically enforces this — when you save a predecessor, any successors that would start too early are pushed forward.
Use the zoom slider in the toolbar to switch between views:
Weekend columns are shaded to distinguish non-working time. Public holidays and non-working dates (configured in Project Settings) also appear shaded.
Each project has a scheduling calendar configured in Project Settings → Schedule.
Calendar presets (click to auto-fill all fields):
| Preset | Working days | Hours/day | Start | End | FS Successor |
|---|---|---|---|---|---|
| 5-8 Mon–Fri, 8 hours | Mon–Fri | 8h | 08:00 | 17:00 | Next working day |
| 5-10 Mon–Fri, 10 hours *(default)* | Mon–Fri | 10h | 07:00 | 17:00 | Next working day |
| 7-12 Mon–Sun, 12 hours | Mon–Sun | 12h | 06:00 | 18:00 | Next working day |
| 7-24 Mon–Sun, 24 hours | Mon–Sun | 24h | 06:00 | 06:00 | Next calendar day |
| Custom | User-defined | User-defined | — | — | User-defined |
FS successor start — controls what happens after computing "predecessor end + lag + 1": - Next working day — snaps forward past weekends and non-working dates. Use for standard Mon–Fri projects. - Next calendar day — no snap. Use for 24/7 operations where every day is a working day.
Duration tooltip — hover over the DUR column to see duration in hours: e.g. "5d = 50h (10h/day)".
Access via: Project Settings → Schedule tab, or the calendar-cog icon in the Gantt toolbar.
Select multiple tasks using the checkboxes in the first column. A bulk action bar appears at the top of the label panel.
Delete — click Delete in the bulk bar. The button morphs into a red 🗑 Delete N confirmation button + Cancel. Click Delete N to confirm.
Individual rows also have a trash icon. Click it; the icon morphs to Yes / No buttons inline — click Yes to confirm deletion.
All dependency arrows connected to deleted tasks are removed automatically.
Every task has a task type set in the Create or Edit sheet. The type controls how the duration is managed and how the bar looks on the timeline.
| Type | Button | Bar style | Duration |
|---|---|---|---|
| Task Dependent | ▬ | Solid filled bar | You set start + duration |
| Finish Milestone | ◆ | Diamond ◆ at zero width | No duration — marks a key date |
| Level of Effort | ⌇ | Dashed outline bar | Auto-calculated (see below) |
To change a task's type, click Edit (pencil icon in the row) and select the type from the three-button selector near the top of the sheet.
A Level of Effort task represents ongoing support work whose duration is entirely determined by the surrounding schedule — not by a fixed deliverable or scope item.
How it works: When the schedule is recalculated, a LOE task automatically stretches to span from the *earliest start date of its predecessors* to the *latest end date of its successors*. You do not set the duration manually — the system manages the start and end dates.
Visual indicator: LOE bars appear as a dashed-outline bar with a centre spine and a ⚡ icon in the label column.
Typical uses: - Site Supervisor / Superintendent — coverage for the full construction window - Project Management — PM oversight spanning the delivery phase - Quality Assurance / QA Inspector — QA presence from first works to practical completion - Safety Officer / HSE — site safety cover matching the active construction period - Design Management — design coordination from mobilisation to handover - Client Reporting — weekly or monthly reporting running for the life of the project
How to create a LOE task: 1. Click + New task. 2. In the Task Type selector, click LOE ⌇. 3. Set the PRED column to the WBS codes of tasks that define the *start* anchor. 4. Ensure the tasks that define the *end* anchor have this LOE as a predecessor (or share the same schedule window). 5. Save — dates are managed automatically on each schedule recalculation.
Note: The end-date and duration fields are disabled for LOE tasks. The system owns those values.
| Control | Function |
|---|---|
| + New task | Create a task row |
| Zoom slider | Day / Week / Month / Quarter |
| Show END | Toggle end-date column visibility |
| Show PRED | Toggle predecessor column visibility |
| Show PRI | Toggle priority column visibility (saved to localStorage) |
| Calendar cog | Open Project Settings → Schedule |
| Expand all / Collapse all | Show/hide sub-tasks |
Drag-and-drop task management across four configurable columns.
Tasks are organised into four columns: Backlog, In Progress, Review, Done. Drag cards between columns — moves are saved instantly with optimistic UI (no spinner or page reload).
Click + Add task at the bottom of any column. Enter a title and press Enter to create quickly, or click the card to open the detail sheet.
Task detail sheet fields: - Title - Description (markdown supported) - Assignee (member of the project) - Priority — Critical / High / Medium / Low - Due date - Labels / tags - Comments (threaded, with timestamps)
Use the toolbar filter controls to narrow the board:
Aggregated month view of Kanban tasks and module events.
Calendar is the project timeline read model. It combines date signals from source modules into one month view.
Record ownership - Kanban Task items come from the Kanban task table. - Events come from RFI, QA/NCR, HSE, and project holidays. - Gantt activities stay in the Gantt schedule model and are not created here.
Calendar controls - View filter — All / Tasks / Events - New Kanban Task — quick-create a Kanban task for the selected date - Module shortcuts — jump to RFI, QA, or HSE to create source events
Click an item to open its source module record.
Calendar is not a third task system. It is an aggregate timeline over existing module data.
Project deployment layer for personnel, plant/equipment, and materials.
Resources is the project-side allocation module. It does not replace Workforce or Fleet. Instead it answers: who and what is deployed on this project right now?
The overview page shows headline counts for: - active personnel - ready vs blocked personnel - active assets and out-of-service assets - material lines needing action
Use Resources when you need project assignment, operational readiness, and field custody. Use Workforce or Asset Management/Fleet when you need the master record.
The Personnel register lets you add people from Workforce into the project roster.
For each assignment you can set: - project role - linked contact - company - crew, supervisor, shift, and work area - start and finish dates - assignment status and notes
Each row also shows the person's latest readiness result so project teams can see ready / warning / blocked without leaving the project.
The Plant & Equipment tab pulls from the organisation fleet and project plant registers.
Add an asset to the project, then track: - assigned operator - mobilisation and demobilisation dates - work area - operational status: planned / active / out of service / demobilised - custody state: available / checked out / unavailable where the backend permits it - location tracking state: if a tracker is assigned to the asset, view last-seen position and movement status directly from the asset detail panel
Field users can scan an asset QR code in the Android app to resolve the backend asset record, view the current status before acting, and check the asset out or back in. Checkout never happens automatically on scan; action buttons follow backend permissions and latest custody state.
This keeps project allocation separate from the master fleet record while still using the same underlying asset.
The Materials tab tracks project material lines and shortfalls.
Each material can store: - description and unit - planned, ordered, delivered, and used quantities - supplier contact - status: planned / ordered / partial / delivered / consumed / hold - notes
This gives the project team one place to monitor lines that are short, on hold, or still waiting to land on site.
Interactive visual hierarchy of the project team — who reports to whom, grouped by company.
Org Chart visualises the reporting structure for everyone assigned to a project.
It reads data from Resources (project personnel) and Workforce (person records, supervisor links). It does not create or edit person records — it is a read-only view over existing data.
Each node shows: - Name and project role - Company with a colour-coded band by company type - Status badge (active, planned, demobilised, blocked)
Click any node to open a detail sheet with email, phone, crew, and company information.
The tree is built from supervisor links on workforce person records. Key rules:
Desktop (canvas view): - Pan — drag the canvas background - Zoom — mouse wheel, or use the +/− buttons (top-right) - Fit to screen — the fit button auto-zooms to show the entire tree - Expand / collapse — click the button below a node to show or hide its reports
Mobile (<768px): - Switches to a collapsible indented list view - Tap the chevron to expand / collapse - Tap a person to open the detail sheet
The toolbar above the chart provides:
Each company type has a distinct colour band on the node card:
| Type | Colour |
|---|---|
| Principal | Blue |
| Contractor | Amber |
| Subcontractor | Green |
| Consultant | Purple |
| Labour Hire | Slate |
| Supplier | Gray |
| Visitor Org | Gray |
Org Chart uses the org_chart module key for access control.
Project admins and organisation owners/admins have full access automatically.
Structured field reporting module distinct from Site Diary narrative logs, used for shift reports, labour time, plant/equipment hours, production quantities, approvals, cost tracking, and exports.
Site Diary records the narrative daily site log, while Daily Reports captures structured shift records with quantified labour, plant, and production data.
The Daily Reports module has 7 tabs:
| Tab | Purpose |
|---|---|
| Overview | Dashboard with today's stats, shift inbox, and quick-access feeds |
| Reports | Full shift report register with detail view |
| Labour | Project-wide labour entry register with filters |
| Plant | Project-wide plant/equipment entry register |
| Production | Production quantity register |
| Approvals | Supervisor inbox for reviewing and approving reports |
| Exports | CSV/XLSX downloads and rate table management |
The Overview tab shows key metrics: shifts today, reports awaiting approval, approved cost, labour hours, plant hours, production quantities, active crews, and active companies.
A shift report is the parent record for a project, date, and shift. Click New Report to create one.
Fields: - Date and Shift (Day / Night / Both / Custom) - Supervisor — who supervised this shift - Company — contractor or company name - Location — select from the project location register, or enter area / chainage manually - Weather — AM/PM conditions, temperature range, wind - Summary — narrative of work performed - Delays / Incidents / Handover notes / Comments - Linked records — optionally link to a Gantt task, budget item, BOQ item, NCR, or HSE incident
Copy previous — click to duplicate the most recent report as a new draft, pre-filled with the same location, company, and narrative structure.
Labour entries are child records of a shift report, capturing who worked, for how long, and on what.
Three entry modes: - Individual — one row per worker - Crew — foreman enters for the whole crew - Supervisor — supervisor bulk-allocates across teams
Fields per entry: - Worker name and reference (payroll code) - Company, crew, role/trade, labour class - Location, chainage, cost code - Linked Gantt task, budget item, or BOQ item - Start/finish time, break minutes - Hour buckets: ordinary, overtime, night, travel, standby, other - Total worked hours (auto-calculated) - Productive/non-productive flag, delay code - Comments
Cost tracking: When labour rates are configured (see Exports tab), costs are automatically calculated from approved hour buckets multiplied by the matching rate.
Filters: date, company, crew/worker, role/trade, cost code, status.
Plant entries capture equipment usage per shift report.
Fields per entry: - Equipment name, reference, class - Owner, operator, company - Location, chainage, cost code - Linked Gantt task, budget item, or BOQ item - Start/finish meter readings (optional) - Hours: run, idle, downtime, standby, total - Downtime reason, defect flag - Comments
Cost tracking: When plant rates are configured, costs are calculated from approved hours multiplied by hourly/idle/downtime/standby rates. A daily rate fallback is available for plant on flat daily hire.
Filters: date, company, equipment, cost code, status.
Production entries capture quantities achieved per shift.
Fields per entry: - Production item name and description - Location, chainage - Unit of measure and quantity achieved - Linked Gantt task, budget item, or BOQ item - Linked labour and plant entry references - Comments
Actual rate: When labour and plant costs are available, the module calculates an actual rate (total cost / quantity) so you can compare against bid rates.
Filters: date, item, location, status.
Draft → Submitted → Approved / Returned / Rejected
Bulk actions: In the Approvals tab, select multiple reports and use Bulk Approve, Bulk Return, or Bulk Reject.
Audit trail: Every status change is logged with the actor, timestamp, and reason. View the approval timeline on the report detail page.
Once approved, entries become the trusted source for cost rollups and project controls.
Configure labour rates and plant rates from the Exports tab.
Labour rates match by: company, worker reference, worker name, role, labour class, cost code. Each rate defines: ordinary, overtime, night, travel, standby, and other hourly rates. Rates have effective date ranges and can be project-specific or org-wide.
Plant rates match by: company, equipment reference, equipment name, equipment class, ownership type (owned/hired). Each rate defines: hourly, idle, downtime, standby, and daily rates.
The system uses a scoring algorithm to find the best-matching rate: project-specific rates score higher than org-wide, and more specific field matches (worker reference) score higher than broad matches (company only).
Costs are automatically applied when entries are approved.
Export data in CSV or XLSX format across 8 scopes:
| Scope | Content |
|---|---|
| Reports | High-level shift report summary |
| Labour | All labour entries with hours, rates, and costs |
| Plant | All plant entries with hours, rates, and costs |
| Production | All production entries with quantities and actual rates |
| Weekly | Weekly rollup of hours, quantities, and costs |
| Cost by Code | Cost breakdown by cost code |
| Cost by Company | Cost breakdown by company |
| Cost by Task | Cost breakdown by linked Gantt task |
A printable PDF view is also available for individual shift reports via the Print button.
Dedicated project photo library for progress, evidence, and reusable linked imagery.
Photos is a first-class project module, separate from attachments inside Diary, HSE, QA, or Wall.
Use it when you need: - a central visual register - filtering by category, uploader, album, or date - progress-photo history - defensible evidence that can be reused across records
The module supports four views: - All Photos — grid (2–6 columns) or list browsing with selection mode - Albums — grouped photo sets with cover images - Timeline — chronological grouping by date with expand/collapse - Linked — photos grouped by their parent record and module
Filter by search text, category, album, date range (from/to), and GPS presence (any / has GPS / no GPS). Sort by upload date, taken date, caption, category, or file size in ascending or descending order.
13 categories are available: Progress, Safety, Quality, Defect, Incident, RFI, Delivery, Plant, Personnel, Weather, Environmental, Completion, and General.
Click the Upload button to open the upload sheet. You can: - drag-and-drop files onto the upload area - click to browse and select files - use the Camera button on mobile to capture directly from the device camera
Before uploading, set a category, album, caption, tags, and location text. These are applied to all selected photos in the batch. The upload shows a progress bar with file count (e.g. "3/5").
Supported formats: JPG, JPEG, PNG, GIF, WebP, HEIC, HEIF. Maximum file size: 25 MB per photo.
EXIF data is automatically extracted on upload — the taken-at date, GPS coordinates, and image dimensions are stored with each photo. Thumbnails (256px, JPEG 80%) are generated automatically.
On mobile devices, the upload sheet shows a dedicated Camera button that opens the device camera directly (rear-facing by default).
The workflow is: 1. Open Photos module on your phone or tablet 2. Tap Upload 3. Tap the camera icon to capture, or the gallery icon to select existing photos 4. Set category, album, and caption 5. Tap Upload to submit
Photos are uploaded immediately when you tap submit — there is no auto-upload on capture, so you can review and tag before sending. All uploads work over your current network connection (Wi-Fi or mobile data).
Albums group photos into named sets. Create an album from the Albums tab using the New Album button.
Each album has: - a name and optional description - a cover photo (set from any photo in the album) - a photo count badge
You can add photos to an album during upload (select from the album dropdown) or via bulk actions (select photos → Add to album). Photos can also be assigned to an album from the photo edit sheet.
Each photo stores more than a file: - caption and description - category and tags - album - taken/uploaded timestamps - optional GPS coordinates and location text - source module and linked record
Click any photo to open the lightbox. From there, open the edit sheet to update metadata or manage links.
The Linked tab groups photos by their parent record. Photos can be linked to diary entries, NCRs, RFIs, wall posts, Gantt tasks, ITPs, MOC changes, test requests, and decisions.
Photos can be linked to records in two ways:
From the record — Diary entries, NCRs, and RFIs include a PhotoPicker section. Use it to browse, search, and select existing photos from the library, or upload new ones directly. Linked photos appear as thumbnails on the record.
From the Photos module — Open a photo's edit sheet and use the links section to attach it to any supported entity type.
Wall post integration — When you attach an image to a wall post, a photo record is automatically created in the Photos module and linked back to the post. This also applies to previously posted wall images (backfilled).
Deleting a photo that is linked to records shows a warning with the linked record count before confirming.
Enter selection mode by clicking the checkbox icon. Select individual photos or use Select all.
Available bulk actions: - Tag — apply tags to all selected photos - Add to album — move selected photos into an album - Delete — remove selected photos (with confirmation)
Export your photo register from the module header:
- CSV — all metadata fields
- XLSX — formatted headers and date formatting
- Print view — opens a print-optimised page at /photos/print for generating a PDF via the browser's print dialog
Exports respect the current filter selection (category, album, date range).
End-to-end management of Requests for Information from issue to close.
Click New RFI on the register page. Complete:
Attach files using the file picker. Attach project documents via the Link documents button when raising the RFI, or open an existing RFI, click Edit, and use Ref Documents → Add from library to add current project documents from the Documents library. This is part of the broader TaskRox linked-document pattern used wherever project records need controlled evidence.
RFIs move through: Open → In Review → Responded → Closed.
Change status from the detail page status badge. Only users with RFI Edit or Admin permission can change status.
Overdue — an RFI past its due date shows an orange "X days overdue" badge on the register.
Section templates and presets — configure response section templates and RFI type presets in Project Settings → RFI. Presets define the default section flow for each RFI type.
Per-section authority — each section is authority-driven at the RFI instance level (assigned_user, assigned_company, assigned_role, or open_authorised), with explicit assignment fields.
Who can respond — users only get an ordinary response action on sections where they satisfy the section authority check. Project admins do not automatically get ordinary response rights on every section.
Admin management and override — admins/managers can reassign section authority and use a dedicated override action. Override requires a non-blank reason and is audit logged.
Approval chain — configured approval steps still run in sequence. Rejection returns the response for correction; full approval moves the RFI to Responded.
Revisions — RFIs can have multiple revisions. The current revision number is shown in the header.
Every field change to an RFI is logged. Click the History panel tab on the RFI detail page.
Each entry shows: field name, old value, new value, changed by, and timestamp.
Edit lock — the project-level rfi_edit_lock flag can prevent editing of responded/closed RFIs. Controlled under Project Settings (General tab, when built).
TaskRox uses linked documents as a platform pattern. RFIs are one example: the same document-library picker can support QA, HSE, MOC, decisions, correspondence and any project record that needs controlled drawings, specifications, approvals or close-out evidence.
When raising an RFI — use Link documents in Ref Documents & Attachments to open the document picker.
After the RFI exists — click Edit, then use Ref Documents → Add from library. The picker shows current project documents, excludes documents already linked to the RFI, and writes the selected documents straight into the RFI reference list.
Linked documents appear in the RFI header, the Reference Documents section, the linked-record count, and the activity trail.
Full quality management from test request to NATA result, NCR close-out, and ITP sign-off.
The QA module has three tabs:
| Tab | What it manages |
|---|---|
| TR | Test Requests — issued to soil technicians / NATA labs |
| NCR | Non-Conformance Reports — raised when tests fail or work is non-conforming |
| ITP | Inspection & Test Plans — hold point / witness point sign-off per lot |
Raising a TR — click New TR. Fill in: - Lot number - Chainage / location - Layer (Subgrade, Sub-base, Base, Pavement, etc.) - Material - Work type (Compaction, Concrete, etc.) - Requested by, requested date
A unique TR number is generated (e.g. TR-042).
Emailing the technician — click Send to technician. Enter their email. They receive a one-time link valid for 48 hours to submit their results at /qa/complete/[token] — no login required.
Receiving results — when the technician submits, the TR updates with their results, field data, and any uploaded files (photos, signed hold point sheets, lab PDFs).
Pass / Fail — the QA engineer reviews and clicks Mark Pass or Mark Fail. A failed TR automatically opens a pre-filled NCR creation sheet linked to the TR's lot number and TR ID.
Raising an NCR — click New NCR (or it's auto-opened from a failed TR). Fields: - Description of non-conformance - Lot number - Linked TR (if from a failed test) - Assigned to - Close-out due date - Corrective action required
Close-out — the assignee attaches evidence (photos, signed documents) and clicks Request close-out. The QA manager reviews and clicks Close NCR.
Status workflow — Open → Under Review → Closed.
Creating an ITP — click New ITP. Add a name and description.
Line items — add items with: - Description - Type: Hold Point / Witness Point / Review / Document Review - Frequency - Reference (spec clause, drawing)
Lot sign-off grid — once lots start, use the sign-off grid (rows = items, columns = lots). Click a cell to sign off a hold/witness point for that lot. Each sign-off records who signed and when.
Grouped safety workspace covering reactive events, risk planning, assurance workflows, and operational insights.
The HSE module opens to a dashboard and grouped navigation rather than a long horizontal tab strip.
Groups: - Reactive — Issues, Incidents, Hazards, Alerts, Investigations - Risk & Planning — WRAC, JSA, SWMS, Take 5, Critical Risks, Controls - Assurance — Inspections, Field Interactions, Toolbox - Insights — analytics and trend views
Use the group pills first, then choose the module tile you need. Each tile shows live counts so overdue or active areas stand out immediately.
Use Issues, Incidents, and Hazards to capture active safety problems and observations.
Incidents support richer workflows than the original MVP: reported → triage → investigation → actions open → awaiting verification → closed.
Investigations hold root-cause and corrective-action follow-through. Alerts / Heads Up records push urgent safety shares and lessons learned across the project team.
The planning group turns HSE into an operational risk workspace, not just an incident register.
These records are used before work starts and can be linked back to field execution and later assurance evidence.
Use Inspections, Field Interactions, and Toolbox to verify controls in the field.
These modules are for proactive supervision, conversations, and inspection outcomes rather than only post-event reporting. The dashboard surfaces open actions and hot spots so supervisors can act early.
Management of Change — formal workflow for scope, design, and process changes.
Click New MOC. Fill in: - Title - Description of the proposed change - Category — Scope / Design / Process / Safety / Environmental - Priority — Critical / High / Medium / Low - Initiator
A unique MOC number is generated.
Draft → Under Review → Approved / Rejected → Implementation → Verification → Closed
Each stage has specific actions:
| Stage | Who acts | What happens |
|---|---|---|
| Draft | Initiator | Complete MOC details |
| Under Review | Approvers | Review and approve/reject in sequence |
| Approved | PM / Admin | Assign implementation actions |
| Implementation | Action owners | Complete assigned tasks |
| Verification | Verifier | Confirm change implemented correctly |
| Closed | PM / Admin | Close out MOC |
Each MOC has these sub-records:
Configure reusable approval chains and verification checklists under the Templates button on the MOC register.
Templates define: - Approval chain (ordered list of approvers with roles) - Verification checklist items (pre-populated for each new MOC)
Formal governance workflow for recording, reviewing, approving, and tracing project decisions.
Decisions is the governance layer for high-impact outcomes that should be explicit and auditable.
Use it when a project needs a formal record of what was decided, why, by whom, and with what downstream impact.
This avoids critical outcomes being buried in email chains, meeting notes, or mixed-status register comments.
The register captures each formal decision as its own governed record.
Typical fields include: - Decision number and title - Decision statement - Rationale - Impact summary (scope, time, cost, risk, safety, quality) - Decision authority - Required date and status - Linked records and supporting evidence
Not every issue starts as a formal decision.
Project records such as RFIs, MOCs, and other change or governance signals can be promoted into a decision candidate before becoming a full decision record.
This creates a clean path from "issue detected" to "decision made" with traceable links back to source records and evidence.
Decisions follow a status path that supports controlled review and approval:
Candidate → Draft → Under Review → Awaiting Approval → Approved / Rejected / Deferred / Superseded → Closed.
Use this status model to show which decisions are still open, which are pending authority, and which outcomes are final.
Cost tracking from original estimate through committed costs and forecast to complete.
The Budget tab shows project cost health at a glance.
Summary cards: - Total Budget (sum of original budget) - Committed (sum of committed costs) - Forecast Final Cost - Variance (Budget minus Forecast)
Line items — add items with: - Description - Original budget - Committed cost - Forecast to complete
Status is auto-calculated: On Budget / Over Budget / Under Budget.
An AG Grid spreadsheet editor for Bill of Quantities.
Sections — add section rows (bold headings) to group related items. Sections show subtotals.
Line items — under each section, add: - Item No. - Description - Unit (m³, m², m, t, LS, etc.) - Quantity - Rate ($/unit) - Amount (auto-calculated = qty × rate)
Columns auto-save on blur. Subtotals and totals update in real time.
Click Import BOQ to open the import sheet. Paste from Excel or upload a .xlsx file.
The importer auto-detects columns by header names (description, unit, qty, rate, amount, etc.) and shows a preview before import. Confirm to bulk-insert all rows.
After import, you can edit individual cells as normal.
Project document management — folders, revisions, and auth-gated file serving.
Create folders and subfolders to organise your documents. Folders can represent contract sections, disciplines, or document types (e.g. Drawings / Specifications / Reports / Correspondence).
Right-click a folder to rename or delete it. Drag documents to move them between folders.
Drag files onto the upload zone in the main document area, or click Upload. Supported formats: PDF, DOCX, XLSX, DWG, DXF, images, and most office/CAD formats. Max 50 MB per file.
Each document records: filename, size, upload date, uploaded by, revision, and status.
Revision — track document revisions (Rev A, B, C…). Add a new revision to create a new version while keeping the history.
Status codes: - For Construction — current, approved for use - For Review — awaiting approval - Superseded — replaced by a newer revision - Void — cancelled / no longer applicable
Every folder has an automatic arc/ subfolder for archiving documents.
Automatic archiving — when you upload a new revision (supersede), the previous version is moved to the arc/ subfolder automatically with a full audit trail.
Manual archiving — click the Archive icon on any document row to move it to arc/. You can optionally add a note explaining why (e.g. "Replaced per RFI-042 response").
Restoring — browse into an arc/ folder and click the Restore button to move a document back to its parent folder.
The arc/ folder appears in the folder tree with a count badge showing the number of archived files. It is greyed out and collapsed by default to keep the tree clean. Archive actions are recorded in the document's version history.
Files are served through private TaskRox storage access routes (including legacy /api/uploads/[...path] paths and signed access flows). Only authenticated project members with module permission can download files.
To share a document with an external party, invite them as a project member with Documents → View permission.
The document picker lets project records link back to the same controlled Documents library instead of duplicating files. RFIs are one example; the same pattern supports evidence-heavy records such as QA, HSE, MOC, decisions and correspondence. In RFI edit mode, use Ref Documents → Add from library to attach controlled project documents after the RFI has already been raised.
Traffic Management Plan register and canvas layout builder for roadworks and civil teams.
Open the TMP module from the project sidebar to view every Traffic Management Plan for the project. The register supports search, status filtering, version visibility, and quick access into the canvas editor.
Click New TMP from the TMP register. Enter title, location, road name, speed zone, and road class, then create the plan to open the canvas editor.
Drag-and-drop lane layouts, work zone boundaries, signs, cones, barriers, delineators, traffic controllers, vehicles, and personnel onto the canvas. Add dimension lines and text annotations where the layout needs more context.
The sign library includes core AS 1742.3:2019 regulatory signs plus traffic control devices and personnel silhouettes. The rule panel checks advance warning distances, taper lengths, and sign spacing against the selected speed zone and road class. Warnings are informational and do not replace competent person review.
Export PDF or PNG outputs with project metadata, a scale legend, sign placement data, and a drafting disclaimer. TMPs follow draft → submitted → approved workflow. Approved versions are locked; editing creates a new draft version.
TMP has its own project module permission. Viewing and exporting requires TMP → View. Creating and editing requires TMP → Edit. Approving requires TMP → Admin. Existing role templates inherit the previous Documents-level access so current users are not locked out during the split.
Project social feed — updates, photos, videos, reactions, and category filters.
Click the composer at the top of the Wall. Type your update. Optionally:
Click Post to publish.
Hover over any post and click the reaction button (👍) to add an emoji reaction. Click again to remove. Reaction counts are shown below each post.
Use the category tab bar at the top of the feed to filter posts by category: All · General · Progress · Safety · Weather · Other. Each category has a colour-coded badge.
Channel-based project messaging — organised like Slack, no WebSocket required.
A #general channel is auto-created for every project. Create additional channels for disciplines, subcontractors, or topics.
Click + New channel in the channel list panel. Enter a name and description.
Select a channel from the left panel. Type in the message input and press Enter (or click Send).
Messages are grouped by sender when sent within a short time window (similar to Slack). Each group shows the sender's name, avatar, and timestamp.
Near real-time — messages poll every 5 seconds. This avoids WebSocket complexity while keeping messages timely.
Stakeholder directory for every person involved in the project. Contacts are classified as **internal** (your organisation) or **external** (clients, subcontractors, consultants).
Click New contact. Fill in: - Name (required) - Company - Current Position — their job title (e.g. "Soil Technician", "Project Manager"). This is separate from their project role (access level). - Email - Phone - Notes - Contact Type — Internal or External (optional, auto-detects from email domain if left blank)
Contacts are classified as Internal or External:
| Type | Meaning | Example |
|---|---|---|
| Internal | Part of your organisation | Your company's project managers, engineers, admin staff |
| External | Outside your organisation | Clients, subcontractors, consultants, suppliers, inspectors |
Auto-detection: If your org has an Internal Domain set (in Settings > General), contacts with matching email domains are automatically classified as internal. For example, if your internal domain is acme.com, a contact with email john@acme.com is auto-classified as internal.
Manual override: You can always set or change the contact type manually when creating or editing a contact.
Filtering: Use the Type dropdown in the contacts register to filter by Internal, External, or All.
Contacts have two distinct "role" concepts:
| Field | What it means | Example |
|---|---|---|
| Current Position | Their real-world job title | "Soil Technician", "CEO", "Site Engineer" |
| Project Role | Their access level in the app | "Project Admin", "Scheduler", "Stakeholder" |
Current Position is free text set when creating the contact. Project Role is a role template assigned when inviting the contact to the app — it controls what modules and actions they can access.
Both are visible in the contacts table as separate columns. Project roles are colour-coded for quick scanning.
Contacts without app access show an Invite button (or Assign via invite in the Project Role column). Clicking opens the invite dialog:
Once accepted, the contact becomes an active app user with the assigned role's permissions. Their Project Role appears as a colour-coded badge in the contacts table.
Re-sending — if an invite is pending, you can click Re-send to generate a fresh 7-day link (the old one is invalidated).
Click Import to bulk-add contacts from a CSV file. Supported formats: - TaskRox template — download the template CSV, fill in, and upload - Outlook export — export from Microsoft Outlook and upload directly
The importer auto-detects column headers and shows a preview before importing. Duplicate contacts (matched by email or name+company) are skipped.
Use the search bar to find contacts by name, company, position, or email.
Click Export CSV to download the full contact list for this project.
Cross-module statistics and register summaries for project reporting.
The Reports module aggregates data from all other modules into summary statistics:
More detailed reports and exports (CSV, PDF) are planned for a future release.
Governed project completion workspace for lessons learnt, close-out reporting, readiness, handover evidence, follow-on actions, contract improvements, and archive preparation.
Closeout is the project completion workspace. It sits after Reports in the project module list and guides the team from delivery evidence through lessons learnt, operational readiness, handover evidence, close-out reporting, follow-on actions, contract improvements, and final archive.
The overview brings together: - close-out report status - lessons learnt counts - open RFIs, NCRs, HSE actions, MOCs, decisions, and follow-on actions - operational readiness percentage - archive readiness advisories - final archive state
Closeout is guided, not forced. Advisory checks warn the team before archive, but authorised users can continue after explicit confirmation.
The Close-Out Report tab lets the team build a structured completion report from TaskRox data and project narrative.
Use it to: - select and reorder report sections - edit narrative sections - pull KPI and readiness summaries from project data - include lessons learnt, follow-on actions, contract improvements, and appendix evidence - move the report through draft, in review, and finalised states - export a DOCX or open the print-ready report preview for PDF printing
Lessons learnt can be captured from day one, not only at the end of the job.
Each lesson records: - positive or negative type - title and description - supporting explanation - underlying causes for negative lessons - recommended future behaviours - critical lesson flag - linked records such as photos, documents, RFIs, NCRs, HSE records, MOCs, and decisions
Report wording can be adjusted without changing the original lesson record.
Operational Readiness tracks handover, commissioning, documentation, training, and support items with status, due dates, required flags, and completion notes.
Follow-On Actions capture work that must continue after practical completion, with owner, priority, status, due date, and linked records.
Contract Improvements capture what should change next time: clause or scope reference, recommendation, rationale, owner, priority, status, and source links. This turns project closeout into reusable procurement intelligence.
The Archive tab is the final controlled step. It reuses the existing project archive system, but Closeout now provides the workflow and readiness context before freezing the record.
Archive readiness checks look for missing or incomplete closeout material such as no final report, no lessons learnt, open RFIs, open NCRs, open HSE actions, incomplete readiness items, and open follow-on actions.
When a project is archived it becomes read-only. It can be unarchived from Closeout by users with the right permission.
Organisation-wide competency, clearance, and mobilisation engine for people.
Workforce is a top-level operational domain, not a project module.
Its job is to answer: - who is compliant right now - who is blocked and why - what is expiring soon - who is ready to mobilise
The overview page shows live KPI cards, company compliance breakdown, and open exceptions.
Use People for the master worker list and Matrix for the fast compliance view.
The matrix shows people against requirements so you can see missing, expired, pending, restricted, or compliant states in one place. This is the fastest way to spot readiness gaps before deployment.
The Requirements area is the rules engine. It defines what a person may need for their role, trade, task, project, site, or equipment exposure.
Evidence is then recorded through: - Inductions - Licences & Competencies - Medical & Restrictions - Authorisations
TaskRox treats these as structured compliance records, not just uploaded certificates.
Mobilisation turns the compliance engine into an operational readiness result.
Use: - Mobilisation for ready / warning / blocked deployment status - Expiries for upcoming or overdue records - Actions & Exceptions for the items that need follow-up or formal acceptance
Project modules consume these outcomes later through Resources and other field workflows.
Site Pass provides mobile digital access credentials for workers and supervisors.
Field workers can display their pass on Android with: - Worker photo, name, employer, role, and access number - QR code for contactless verification - Live compliance status (training, induction, medical, SWMS) - Approved projects and access areas - Offline pass caching with 24-hour expiry - Last-synced timestamp for offline awareness
Supervisors and security personnel with scanner permissions can: - Scan worker QR codes or enter access numbers manually - View real-time verification results (approved/blocked/warning) - See privacy-safe reason codes (medical details are never displayed) - Record sign-on and sign-off events - Track access event history
Key principles: - Android provides field UX only - Web backend calculates all compliance and approval logic - Medical details are excluded from all displays - Scanner and sign-on actions require online connection - Permissions: view (own pass), edit (scan/verify), admin (manage assignments)
Training Library, sessions, enrolments, and worker evidence — one source of truth across org and project surfaces. Covers courses, licences, VOCs, medicals, inductions, authorisations, and document acknowledgements.
The Training module is the single canonical source for every compliance question — what items exist, what each worker holds, what a project requires, and whether a worker is cleared.
Training Library, worker Evidence, and project Requirements are one system. The org Training surface, project Training matrix, Workforce person profile, Resources readiness, and Site Pass all read the same Evidence record for any given worker + item.
The Training module operates at two levels:
- Organisation-level (/training) — manage the Training Library, sessions, enrolments, worker Evidence, and expiries across all projects
- Project-level (/projects/[id]/training) — pick Library items as project requirements, run project-scoped sessions, and read the readiness matrix
Use Training to manage: - the Training Library — every kind of compliance item (course, licence, VOC, medical, induction, authorisation, SOP acknowledgement, unit qualification, toolbox talk) - trainers (internal and external) and sessions - enrolments, attendance, and results - worker Evidence — the canonical compliance record per worker per item - expiries and refresher windows - project requirements that reference Library items
The Training Overview dashboard provides a snapshot of training activity across your organisation.
| KPI | What it shows |
|---|---|
| Library Items | Total active items in the Training Library (all types) |
| Upcoming Sessions | Sessions scheduled in the future |
| Expiring Evidence | Worker Evidence approaching expiry in the configured window |
| Incomplete Sessions | Sessions past start time without final results |
| Expired Evidence | Worker Evidence already past expiry |
| Recent Completions | Enrolments completed this month |
Use the dashboard to spot scheduling gaps, identify Library items that need refresher sessions, and monitor expiries before they affect site readiness.
The Training Library at /training/library is the canonical list of every training item your organisation tracks.
Item types: - Course — internal/external/RTO/accredited course or refresher - Unit / qualification — RII unit, skill set, certificate qualification - Licence — EWP, forklift, crane, high-risk work licence - VOC — Verification of Competency - Medical / restriction — medical clearance, fit-for-work, restriction status - Induction — site, company, or visitor induction - Authorisation — site, plant, or role authorisation - Toolbox / briefing — toolbox talk, pre-start briefing - SOP / document acknowledgement — SWMS, SOP, policy sign-off
Each Library item carries a default validity period, evidence requirement flag, verification requirement flag, and a "delivery capable" flag indicating whether sessions can be scheduled against it.
> The legacy /training/courses and /training/catalogue URLs both redirect to /training/library.
Sessions are scheduled delivery events for a Training Library item. Pass results renew worker Evidence in the canonical Library.
Course types: - Accredited Course — externally certified (e.g. First Aid, CSE, WAH) - Induction Course — site or corporate induction - Internal Course — organisation-developed training - External Course — delivered by third-party providers
Delivery methods: - Classroom - Online / eLearning - Onsite face-to-face - Blended - Toolbox talk
Session statuses: - Draft — not yet published - Scheduled — upcoming, open for enrolments - Open — currently in progress - Closed — completed, attendance recorded
Trainers can be internal employees or external contractors. Each trainer record carries qualifications and active/inactive status. When scheduling a session, pick the trainer from your pool — sessions link to trainers for reporting and workload tracking.
Enrolments place people into sessions. Results record what happened. Pass results renew the worker's canonical Evidence in the Training Library.
Enrolment workflow: 1. Select a session 2. Add workers from the workforce 3. Workers receive notification (if enabled) 4. On session day, mark attendance 5. Record pass/fail and completion date 6. Issue certificates and set expiry
Result statuses: - Enrolled — registered for session - Attended — present at session - Completed — passed and certified - Failed — did not pass assessment - No-show — did not attend
A pass result automatically updates the worker's canonical Evidence record for the corresponding Library item — no separate "mapping" step is required. The unified Training/Evidence system writes through one canonical service path.
Worker Evidence at /training/evidence is the canonical compliance record for every worker × Library item combination. This is the same record displayed on the Workforce person profile (Training/Evidence tab), the project Training matrix, and the workforce matrix — one row, surfaced everywhere it matters.
Find any worker × item: - Search by worker name or item name/code - Filter by canonical status — Compliant, Expiring, Expired, Missing, Pending verification, Restricted, Medical restriction, Not required - URL-stable filters — share filtered views with colleagues
Edit Evidence: - Update completion date, expiry date, evidence URL, notes - Change status (with reasons preserved in history) - Verify or reject pending evidence - Waive a requirement (with mandatory reason — auditable) - Archive obsolete evidence
Status calculation is deterministic and centralised: the same precedence rules drive the matrix, the access calculator, the resources readiness check, and the site pass scanner. There is no parallel status source — this is the single answer to "is this worker current?".
Expiring Evidence and Expired Evidence KPIs surface compliance items that need renewal.
The expiring view shows: - Workers with Evidence expiring in the next 30/60/90 days (configurable window) - Overdue Evidence that has already expired - Items with no expiry set (non-expiring items)
When you complete a refresher session, the canonical Evidence renews automatically — no manual mapping is needed. This was the role of the legacy "Workforce Mappings" feature, which has been retired now that course completion fans out to canonical Evidence directly.
Each project can define its own training requirements that reference Library items.
Project Training tabs: - Matrix — worker × requirement readiness grid, sourced from canonical Evidence - Requirements — pick Training Library items and scope them to project rules (all workers / role / company / trade / plant class / work area / crew / individual) - Evidence — project-relevant worker Evidence, filtered from canonical records - Sessions — project-scoped sessions, if applicable - Library — read/pick/create items from the canonical Training Library
Training Readiness panel: The hero panel shows overall project training health: - Readiness percentage (workers fully compliant) - Total project requirements - Workers with gaps - Upcoming sessions - Library items active for the project
Matrix cell editor: Click any matrix cell to edit Evidence inline (for users with edit permission). Sensitive fields like medical restrictions and fit-for-work status are NOT exposed at the cell level — those remain on the Workforce profile under role-gated tabs.
Guided setup: If requirements are missing, a setup banner guides you through assigning Training Library items as project requirements and capturing worker Evidence.
Create and deliver a new training item: 1. Go to Training → Library 2. Search for the item — most common items are pre-seeded 3. If the item doesn't exist, create one with the right item type, validity period, and evidence/verification flags 4. Go to Sessions → Schedule Session 5. Pick the Library item, trainer, date, location 6. Publish session and enrol workers 7. On session day, mark attendance and record results 8. Pass results renew worker Evidence automatically
Set up project training requirements: 1. Go to Project → Training → Requirements tab 2. Click Add Requirement 3. Pick a Training Library item 4. Set scope (all workers / role / company / individual etc.) and mandatory level 5. Matrix tab now shows compliance status against canonical Evidence
Find and update a worker's Evidence: 1. Go to Training → Evidence (or Workforce → Person → Training/Evidence tab) 2. Search by worker name or item 3. Open the row → edit completion / expiry / verification / notes 4. Save — the change is reflected immediately on the project matrix, workforce matrix, and Resources readiness
Track expiring training: 1. Go to Training → Overview 2. Open the Expiring Evidence KPI 3. Filter by expiry window or item type 4. Export list or schedule refresher sessions
My Training Passport is the worker-self lane on the canonical evidence system. Workers own their training data and can carry it across projects and employers.
Workers see the passport at /my/training (linked from the sidebar My Work → My Passport). It surfaces only their own Evidence — there is no cross-worker view from this lane.
Worker-self surfaces (under /my/training):
- Dashboard (/my/training) — status summary (verified, expiring, expired, pending review, clarification, rejected, draft), required actions, project readiness, recent submissions, sharing shortcuts, privacy notice.
- Uploads (/my/training/uploads) — pick a Library item, attach a certificate (PDF or image, 25 MB max), enter dates and notes, and either save as draft or submit for verification. Drafts, submitted, and clarification-requested rows are all editable from this page.
- Records (/my/training/records) — the worker's full evidence list with status filters and item-type filters.
- Expiries (/my/training/expiries) — verified evidence approaching or past expiry, bucketed by urgency (expired / 30 days / 60 days / 90 days / beyond) with a Renew CTA.
- Readiness (/my/training/readiness) — per-project readiness against assigned projects' training requirements, with portability proof (the same verified evidence satisfies requirements in every assigned project).
- Sharing (/my/training/sharing) — create controlled views of training evidence for an employer, project, or external recipient (4 share kinds × 4 recipient kinds), revoke any time. Public links can never expose raw medical detail.
Verification rule (worker view): only admin-verified evidence counts toward project compliance. The dashboard shows pending submissions distinctly from verified evidence — pending is "I've submitted, awaiting admin" not "this counts." This mirrors the canonical verified-only readiness rule.
Self-only access: every /my/training/* route is gated by the requireSelfPerson() helper. A user without a linked workforce profile sees a friendly "Your account isn't linked to a worker profile" message instead of a 500 error.
Admin verification queue: admins use /training/passport-queue to review worker-submitted evidence. Action buttons: Verify (one click), Request clarification (audit-note dialog), Reject (audit-note dialog with required reason). The queue is tabbed: Awaiting review (submission_status='submitted') vs Clarification requested (submission_status='clarification_required').
Notifications: every state transition fires an in-app notification. Worker submission → notify all org admins. Admin verify / reject / request clarification → notify the worker. Rejection includes the reason; clarification includes the admin's note.
Audit trail: every state transition writes a row to audit_log. The 11-action passport taxonomy: passport.evidence.{create,update,submit,withdraw,verify,supersede,reject,clarification} plus passport.share.{create,access,revoke}. Share-access events surface a medical_raw_exposed flag so compliance auditors can answer "did this access actually expose raw medical data?" without re-running the projection engine.
Location tracking and telematics for organisation and project assets, fleet, plant, and equipment.
Asset Tracking extends Asset Management and Fleet with location visibility, telematics data, geofences, and alerts.
This feature helps teams: - View last-known locations for tracked assets on project and organisation maps - Monitor asset movement, battery status, and reporting health - Set geofence boundaries and receive alerts when assets enter or exit zones - Track assets during theft recovery or deployment verification - Understand utilisation and stale-state for battery-powered trackers
What it is NOT: - Personnel phone tracking. Asset Tracking is for company-owned equipment, vehicles, and assets only. Personnel location tracking is not supported in the first release.
Asset Tracking uses a provider-agnostic architecture.
The system supports: - Simulated/demo provider — generates test events for development and training - Future live providers — Digital Matter, Teltonika, Samsara, Geotab, Trackunit, and other telematics platforms
All incoming location data is: 1. Received via webhook or API ingest 2. Stored as raw provider payload 3. Normalised into a common position/event model 4. Displayed on maps and asset detail panels
This design allows TaskRox to support multiple hardware vendors and tracking platforms without vendor lock-in.
To track an asset, assign a tracker device to it.
Go to Asset Management → Asset detail → Tracking tab, then: 1. Click Assign tracker 2. Select the provider account and device ID 3. Set install date, expected report interval, stale threshold, mounting method 4. Optionally upload install photo and add notes 5. Save
Once assigned, the system begins ingesting location events for that device and linking them to the asset.
Unassignment: Click Unassign tracker to remove the assignment. Historical position records remain linked to the asset for audit purposes.
Organisation asset map shows all tracked assets across the organisation.
Project asset map shows assets deployed to a specific project.
Each map displays: - Asset markers with last-known position - Last seen timestamp - Movement state (stationary / moving / stale) - Battery level and signal strength - Asset name, category, and status
Stale markers — if an asset hasn't reported within the expected interval + stale threshold, the marker changes colour to indicate a stale state.
Clustering — when zoomed out, nearby markers are grouped. Zoom in to expand clusters.
Geofences are virtual boundaries drawn on the map.
Create a geofence: 1. Open the asset map 2. Click Create geofence 3. Draw a polygon or circle on the map 4. Set the geofence name, description, and alert rules 5. Save
Alert rules: - Enter — trigger when an asset enters the geofence - Exit — trigger when an asset exits the geofence - Dwell — trigger when an asset remains inside for a specified duration
Alerts are logged in the asset tracking alert register and can be configured to send notifications to project or organisation users.
Every asset detail page has a Tracking tab.
This tab shows: - Tracker assignment details (device ID, provider, install date, mounting method) - Latest position map - Last seen timestamp - Movement state, battery level, signal strength - Expected next report time - Stale/low-battery/tamper state badges - Recent position history (last 24 hours or configurable range) - Geofence events related to this asset - Alert history
Click View full history to see the complete position trail with timestamps, coordinates, accuracy, and source type.
Most battery-powered asset trackers are last-reporting devices, not continuous real-time trackers.
Typical reporting intervals: - Standard mode — once per day or every few hours (conserves battery) - Movement-triggered mode — reports when movement is detected - Recovery mode — frequent reporting (every few minutes) for theft recovery, drains battery faster
Battery life depends on: - Reporting interval - Signal strength - Temperature - Device model and battery capacity
The UI shows: - Last seen — when the device last reported - Expected next report — based on configured interval - Stale — if the device hasn't reported within expected window + threshold - Low battery — if battery level drops below threshold
Always communicate realistic battery expectations. A device reporting once per day may run for 3–5 years on batteries. A device in recovery mode may last only days or weeks.
Asset Tracking has its own permission layer:
| Permission | Meaning |
|---|---|
| `asset_tracking.view` | View last-known locations on maps and tracking tabs |
| `asset_tracking.manage` | Assign and unassign trackers |
| `asset_tracking.configure` | Manage provider accounts, API keys, device provisioning |
| `asset_tracking.alerts` | Create, edit, delete geofences and alert rules |
| `asset_tracking.recovery` | Enable stolen/recovery mode (if supported by provider) |
| `asset_tracking.history` | View and export historical location trails |
Default stance: - Project users do not automatically receive organisation-wide asset tracking access - Location history export requires elevated permission - Provider credentials are only visible to administrators - Recovery mode is restricted and audited
All tracking-related actions are logged:
Audit logs include user, timestamp, action type, affected asset, and related details.
This supports compliance, security, and accountability around asset tracking operations.
Asset Tracking retention policy:
| Data | Default retention |
|---|---|
| Current/latest position | Kept indefinitely while asset exists |
| Raw provider payloads | 30–90 days |
| Normalised position history | 12 months default |
| Alert/geofence events | 7 years (treated as audit/compliance record) |
Retention settings may be configurable per organisation. Contact support for custom retention requirements.
Asset Tracking is for company-owned equipment, not people.
The feature tracks: - Vehicles - Plant and equipment - Tools and toolboxes - Containers and trailers - Generators, pumps, compressors - Any asset owned, hired, or leased by the organisation
Personnel phone tracking is not supported in the first release. If it is ever added, it will be: - Explicitly opt-in - Visibly active to the person being tracked - Limited to narrow safety or attendance use cases - Disabled outside agreed work context - Subject to short retention - Covered by customer policy acknowledgement - Audited when accessed
Custodian visibility — the system may show who currently has custody of an asset (via QR checkout), but this is about asset responsibility, not employee surveillance.
Before enabling vehicle or asset tracking, ensure your organisation has a clear policy that covers: - What is tracked and why - Who has access to location data - How long data is retained - Employee notification and consent where relevant
TaskRox uses a provider-agnostic model. Hardware can be selected based on asset type, customer region, network coverage, and budget.
Current support: - Simulated/demo provider — generates test data for training and development
Future integration targets: - Digital Matter — Oyster3 (rugged LTE-M/NB-IoT), Yabby Edge Cellular (compact GNSS/Wi-Fi) - Teltonika — FMC920 (vehicle telematics), TAT240 (tamper-proof asset tracker) - Samsara, Geotab, Trackunit — enterprise telematics integration for customers who already use these platforms
Do not rely on consumer Bluetooth tags (Apple AirTag, Tile) as the primary tracking system. They are not suitable for enterprise asset management.
Asset Tracking is a paid add-on per tracked asset.
Commercial decisions still being finalised: - Whether TaskRox sells hardware or recommends supported devices only - Device ownership model - SIM/data cost responsibility - Freight, install support, warranty, returns, replacement process - Whether powered vehicle installs require a qualified auto electrician - Whether recovery mode creates extra cost due to increased reporting frequency - Whether devices can be reassigned, wiped, returned, or redeployed
Contact sales for current pricing and fulfilment options.
TaskRox AI workspace for project-aware chat, structured responses, and reusable outputs.
AI Studio is the dedicated AI workspace in TaskRox. It is separate from normal module pages and supports both fast Q&A and reusable outputs.
Tabs: - Chat - Reports - Saved
In Chat, ask questions in either portfolio scope or a selected project scope.
When scoped to a project, TaskRox AI builds a live context snapshot before response generation (for example task, RFI, NCR, HSE, budget, and milestone signals).
Streaming responses support: - Stop while generating - Regenerate the latest assistant response without duplicating the user prompt - Partial-response preservation if a stream is interrupted
For safety, a conversation's project scope is immutable after creation (you cannot swap project scope mid-thread).
Assistant responses include provenance metadata for decision-grade prompts: - scope indicator (Project or All projects) - Data as of timestamp - queried module/domain summary - confidence label (High / Medium / Low) - assumption list when inference was required
Where supported, responses also show contextual quick actions (for example open a linked module/register). Quick actions only appear if your role has permission for that module.
Use Reports to generate structured outputs and Saved to retain reusable drafts/summaries.
Daily message limits apply to non-super users. The UI shows remaining allowance and reset time. Reset policy is UTC, with local display in the client.
If upstream AI service issues occur, user-safe error messages are shown (for example timeout, temporary provider unavailability, or retryable rate-limit errors). AI usage health is visible to super users in Administration → AI.
A layered access model covering organisation roles, project membership templates, and per-module permissions.
TaskRox uses a layered permission model that evaluates access from the top down:
Each layer inherits from the one above. Org Admins and Owners automatically have Admin access to all project modules. Everyone else uses the project-level role template plus any per-member overrides.
Every user has an org-level role inside their own workspace:
| Role | Organisation-level capability | Project/module capability |
|---|---|---|
| Owner | Full org control: members, User Control, role templates, org settings, billing, feature/policy config | Automatic Admin on all modules in all org projects |
| Org Admin | Manage org operations: members, User Control, role templates, org settings, feature/policy config (non-owner org admin authority) | Automatic Admin on all modules in all org projects |
| Member | No org admin surfaces (cannot open Organisation command pages like Members/User Control) | Access only to assigned projects, using role template + per-module overrides |
| Viewer | No org admin surfaces (same org-level boundary as Member) | Access only to assigned projects, typically configured as read-only via template/overrides |
Change org roles under Organisation → Members.
Important: Owners and Org Admins automatically have Admin access to all modules in every project — they bypass project-level permissions entirely.
Project access is controlled by: - project membership - a role template (defines default permissions for each module) - optional per-member overrides
Eight built-in role templates cover common roles:
| Template | Typical use |
|---|---|
| Project Admin | Full control of the project |
| Project Manager | Day-to-day project management |
| Scheduler | Gantt and planning focus |
| Cost Controller | Budget and commercial focus |
| Document Controller | Documents and transmittals |
| Site Supervisor | Field operations and daily reports |
| Consultant | External read-mostly access |
| Stakeholder | Limited visibility for clients/observers |
TaskRox ships with these 8 system templates by default. Depending on your organisation setup, additional templates may also be available.
When inviting a person to a project, the Project Role is the access template. It is separate from the contact's Current Position or real-world job title.
Each project module resolves to one of four levels per member:
| Level | What they can do |
|---|---|
| None | Module hidden from sidebar; all API routes return 403 |
| View | Read-only — see data, cannot create/edit/delete. Lock icon shown on sidebar. |
| Edit | Create, edit, upload, comment. Cannot delete or configure. |
| Admin | Full access — create, edit, delete, configure, manage module settings. |
The sidebar automatically hides modules where the user has None permission. Modules with View permission show a lock icon to indicate read-only access.
Dashboard visibility auto-inherits: if a user can access any other module, Dashboard is shown at least as View.
Assign a template to a project member, then override individual modules as needed.
Two ways to manage overrides:
Overrides are visually distinguished from template defaults: - Blue indicates the permission comes from the template - Amber indicates an explicit override
Click Reset to Template to clear all overrides and return to template defaults.
Org Admins can access Organisation → User Control to manage all users and their permissions in one place.
Features: - See all org users with their org roles - See which projects each user is on - View and edit permissions via a visual matrix UI - Filter and search across users and projects - Change role templates and add overrides
The User Control Hub shows: - User cards with project membership counts - Per-project role template and override count - Full permission matrix when editing
This is the recommended way to audit and manage permissions across your organisation.
Contacts can be classified as internal or external, then invited into the app with a project role.
Safe pattern for external users: 1. Keep their org role as Member or Viewer 2. Add them only to the required project 3. Use a constrained role template such as Consultant or Stakeholder 4. Apply per-module overrides only where needed
This keeps the project directory, invite flow, and permission model aligned.
Q: Why can't a user see a module in the sidebar? Their effective permission for that module is None. Check their role template and any overrides in Project Settings → Team or User Control.
Q: Why does someone have full access even though their template is restricted? If they are an Org Admin or Owner, they automatically have Admin access to all modules — role templates don't apply to them.
Q: How do I give someone read-only access to just one module? 1. Assign them the Stakeholder template (which has mostly None/View permissions) 2. Add an override for the specific module to set it to View
Q: What happens when I change someone's role template? Their effective permissions update immediately. Any existing overrides are preserved unless you explicitly reset to template.
Q: How do I audit who has access to what? Use Organisation → User Control to see all users and their project permissions in one view.
Per-project configuration: scheduling calendar, team roles, and general settings.
Two entry points:
The URL is /projects/[projectId]/settings.
Configure the project's scheduling calendar:
Calendar preset — select one to auto-fill all fields. Options: 5-8 Mon–Fri 8 hours, 5-10 Mon–Fri 10 hours (default), 7-12 Mon–Sun 12 hours, 7-24 Mon–Sun 24 hours, Custom.
Working days — checkboxes for Mon–Sun.
Work hours — shift start and end times.
Hours per day — used in Gantt duration tooltips (e.g. "5d = 50h").
Night shift — toggle on for 24/7 projects. Adds night start/end fields.
FS successor start — Next working day (skip weekends) or Next calendar day (no skip, for 24/7).
Non-working dates — add public holidays and shutdowns. These are shipped past when computing FS constraints.
View all project members. For each member:
Click a module's permission level to set an override for that member. The override shows in a different colour.
Project Settings also includes General and Notifications tabs for project-scoped configuration.
Use these tabs for project-level defaults and notification behaviour as those settings expand. Keep in mind that Project Settings is contextual to the active project and is not part of the global Settings area.
Manage your personal settings, organisation settings, fleet, security, and account preferences.
Your personal settings area includes: - Profile — name, email, company, position, avatar - Preferences — module defaults and behaviour, including Navigation - Appearance — UI colour and display preferences - Security — password and MFA settings
In Settings → Preferences → Navigation you can choose your default landing page, hide/show allowed navigation groups, and reset to defaults.
Navigation preferences are user-specific and can only reduce visible items. They never bypass org feature controls, RBAC, or project membership.
These are about *your account*, not the whole organisation.
Organisation admins work inside Organisation.
Key areas include: - General — organisation details and internal domain - Members — org members and roles - Notifications — organisation-wide default channels, digest timing, critical event protection and policy audit visibility - Asset Management — organisation-level asset register, QR identity, supplier and commercial controls - Fleet — plant and vehicle operations view over the asset register - Billing — plan visibility and subscription administration
Asset Management stores the organisation's actual assets, including owned, hired and leased equipment, QR identity, status, supplier details, documents, compliance records, financial fields and event history.
Fleet is the plant and vehicle operations view over those assets, including service dates, registration expiry and optional links to the public Plant Library catalogue.
Asset Tracking adds location visibility and telematics — assign trackers to assets, view last-known positions on maps, set geofences, monitor battery and movement state, and track deployment or theft recovery.
Use Asset Management for the master asset record. Use project Resources for where those assets are deployed and who currently has custody on a specific project.
Go to Settings → Security. Click Enable 2FA.
Once enabled, every login requires a TOTP code after your password. To disable, go back to Security and click Disable 2FA — requires your current code.
The billing page shows your current plan, subscription state, workspace usage, storage usage, and billing contact details.
If you are a platform super user, the separate Administration area gives you platform-wide audit, AI, organisation, project, user, and login-history visibility.
Platform-wide administration surface for super users.
The Administration area is available to platform-level super users. It is separate from normal organisation settings.
Use it for cross-org oversight, not for day-to-day project administration inside a single tenant.
The main admin navigation includes: - Overview — platform stats, recent signups, recent activity - Organisations — tenant list and rollups - Users — cross-org user management - Projects — cross-org project visibility - AI — provider and usage metrics
The system section includes: - Audit Log — platform-wide action history - Login History — every authentication attempt with success/failure, IP, browser details, and failure reason
Login History is useful for security monitoring, troubleshooting MFA/login problems, and platform forensics.
For deep-drill traces of these tables, including the writer paths, action-key conventions, and forensic queries, see the [Login History and Audit-Log Interpretation](/admin/help/audit-login-history) topic in Superadmin Help.
Operational, route, service, and DB-level traces for high-impact admin areas live in [Superadmin Help](/admin/help). Each topic follows a layered Information Architecture so an operator can land on a single-paragraph summary and reach the exact route handler / service function / table column in two clicks or less.
Phase-1 deep-drill topics:
/api/auth/signup through signup().users, contrasted side-by-side.org_id vs active_workspace_id)](/admin/help/workspace-context) — how every request decides which workspace to scope to.super_user bypasses RBAC and where it does not.workforce_person.user_id to recover /my/training/* access without SQL.Each topic is structured as L1 Summary → L2 Operations → L3 Technical Trace → Verification → Change Risk so the same page serves both quick operational checks and engineering-grade investigations.
Common issues, FAQs, and how to reach the TaskRox team.
Forgot password — click "Forgot password?" on the login screen. A reset link is emailed (valid 1 hour).
2FA code not working — ensure your device clock is synced. If you've lost your authenticator, contact your org admin to reset 2FA on your account.
Account locked — after 5 failed attempts, wait 15 minutes or contact your org admin.
Wrong org — login is email-based. Make sure you're using the email you were invited with.
Max file size — 50 MB per file.
Supported formats — PDF, DOCX, XLSX, DWG, DXF, PNG, JPG, JPEG, GIF, MP4, MOV, and common office/CAD formats.
Wall media — attach photos or videos to Wall posts. Videos are served directly (no transcoding).
If uploads fail, check your browser console/network errors and verify storage provider configuration and health (local path or configured object storage endpoint).
notifications@taskrox.com to your contacts.RESEND_API_KEY env var is set correctly.Contact support if issues persist.
Most registers have a CSV export button in the toolbar: - Gantt task list - RFI register - QA registers (TR, NCR) - HSE incident register - Daily Reports exports - Budget / BOQ - Contacts - Photos (via library / report flows)
PDF manual — click Print / PDF in the Help section. Use your browser's Print → Save as PDF.
Full data export — contact support for enterprise data portability (database backup).
Email — support@taskrox.com
Web form — taskrox.com/contact
Response times: | Plan | Response time | |---|---| | Free | Best effort (1–3 business days) | | Pro | Next business day | | Enterprise | 4 business hours |
When contacting support, include: org name, affected project, steps to reproduce.