Features / Crew

Crew.

billWright's Crew section covers everything related to your team: logging and approving time, managing employee logins, scheduling field visits, monitoring live job status, running safety talks, and tracking incidents.

Timesheet

In the app#/time
Timesheet screen in billWright

The Timesheet screen shows your personal time log for the current week, with summary KPIs and charts.

Viewing the week summary

  1. Navigate to #/time. The screen loads automatically for the current open week.
  2. Review the four KPI tiles at the top: Total hours, Billable hours (with a percentage of total), Billable $ (at logged rates), and Entries (count).
  3. The Day breakdown bar chart shows hours logged per day, Monday through Sunday.
  4. The Day mix donut chart splits billable hours (accent color) from shop/unbilled hours (amber).

Adding a time entry

  1. Click Add entry (the + button in the top-right action bar).
  2. Fill in the entry form: date, job, hours, and whether the time is billable.
  3. Save the entry. The KPIs and charts update to reflect the new totals.

Submitting or reopening the week

  1. When the week status pill reads Open - entries draft, click Submit week to lock the entries and mark the week submitted. The pill changes to Submitted.
  2. If you need to make corrections after submitting, click Reopen week to return it to draft status.

Verify

In the app#/time/verify
Verify tab in billWright

The Verify tab is part of the Timesheet screen (same rendered shell) and is used to review and approve time entries submitted by employees from the mobile punch app.

  1. Navigate to #/time/verify or click the Verify tab within the Timesheet screen.
  2. The screen loads the entry table for the week selected in the "Week of" dropdown in the top bar. If no week is selected, a prompt appears to pick one.
  3. Review employee-submitted entries. Each row shows the employee name, job, hours, date, and cost (hours x pay rate).
  4. Approve or reject entries as needed.

Employees

In the app#/time/employees
Employees screen in billWright

The Employees screen manages crew members who log time through the mobile punch app.

Viewing the employee list

  1. Navigate to #/time/employees.
  2. The table shows: Name, Username (monospaced), Pay rate ($/hr), Billable rate ($/hr, with a note if the default 50% markup applies), Contact (email and phone), Status (Active or Inactive pill), Pending (count of entries awaiting verification, linked to #/time/verify), and Last login (relative time).
  3. The table defaults to sorting active employees first.

Adding an employee

  1. Click + Add employee in the top-right corner.
  2. Complete the form. A numeric login code is generated and shown once for the new employee to use in the punch app.

Editing an employee

  1. Find the employee row and click Edit.
  2. Update the name, pay rate, billable rate, contact details, or other fields and save.

Resetting a login code

  1. On an active employee row, click Reset code.
  2. A new numeric code is generated and displayed once.

Deactivating and reactivating

  1. To suspend a crew member without losing their history, click Deactivate on an active employee row. Their status pill changes to Inactive.
  2. To restore access, click Reactivate on an inactive employee row.

Deleting an employee

  1. Click Delete on the employee row.
  2. A confirmation dialog appears: "Delete employee permanently?" Past time entries are kept but will no longer be linked to a name. The dialog recommends using Deactivate instead if you want to preserve the history link.
  3. Confirm to proceed with permanent deletion.

Timesheets

In the app#/timesheets
Timesheets screen in billWright

The Timesheets screen renders the same Timesheet shell as #/time but defaults to whichever tab was last active. It provides the full time-log view including the entries table for any selected week.

  1. Navigate to #/timesheets.
  2. Use the Week of dropdown in the top bar to select the week you want to inspect. If none is selected the screen shows a prompt to pick one.
  3. The entry table shows all recorded time entries for that week, with columns for date, employee, job, hours, pay cost, and billable value.
  4. Entries sourced from quoted jobs are distinguished visually.
  5. Use the Log and Verify tabs to switch between your own entry view and the crew approval queue.

Rates

In the app#/rates
Rates screen in billWright

The Rates screen manages pay and billable rates for the owner and crew, with per-scope overrides.

Viewing rates

  1. Navigate to #/rates.
  2. A scope bar at the top contains dropdowns to filter the view (for example, by employee or job scope). A scope pill in the top-right corner shows the currently active context.
  3. Rate rows are laid out in a grid showing the name, pay rate, billable rate, the source of the rate (inherited or overridden), and action buttons.
  4. Inherited rows are shown with a slightly dimmed background; overridden rows are shown at full opacity.

Editing or adding a rate override

  1. Locate the row for the employee or scope you want to change.
  2. Click the edit icon button on the row.
  3. Enter the new pay rate and/or billable rate and save. The row updates to reflect the override and its source label changes accordingly.
  4. To remove an override and revert to the inherited rate, click the delete (danger) icon button on the override row.

Schedule

In the app#/schedule
Schedule screen in billWright

The Schedule screen is a dispatch board showing who is assigned where and when. It supports Day, Week, and Month views.

Switching views

  1. Navigate to #/schedule.
  2. Use the Day / Week / Month segmented control in the top-right corner to switch views. On screens narrower than 900px the view defaults to Day.
  1. The Week of picker in the top bar controls which week is displayed in Week and Day views.
  2. In Month view the calendar grid shows the full month.

Reading the board

  1. Each employee row shows colored blocks representing scheduled visits.
  2. Block color corresponds to the job (a color-coded legend below the board lists all jobs in the current view).
  3. A block shows the start and end time. If two blocks overlap in the same employee lane, a ! conflict badge appears on both.

Creating a visit

  1. Click + New visit in the top-right corner. An editor panel opens.
  2. Select the employee(s), job, date, start time, and end time.
  3. Save. The block appears on the board.

Editing or rescheduling a visit

  1. Click an existing block to open it in the editor.
  2. Edit the fields and save, or drag the block to a new day or time slot to reschedule.

Status board

In the app#/status
Status board screen in billWright

The Status board is a live monitor showing who is on the clock right now, grouped by job. It is read-only and refreshes itself every 30 seconds.

Viewing live status

  1. Navigate to #/status.
  2. The rollup bar at the top shows four counters: On the clock, Active jobs, Flags (highlighted in amber if any), and Reports filed today.
  3. Below the rollup, each job appears as a card. Each card lists expected crew and the live roster with classification chips: present, late, absent, extra, or unknown.
  4. The "updated just now" ticker in the top-right flashes each time a background poll completes.

Changing the date

  1. Use the Date input field above the board to pick a different date.
  2. The board reloads for that date. If no live clock data exists for the selected date, a banner appears: "No live clock data for this date - showing the published schedule only." Counters that depend on live data show a dash.

Safety

In the app#/safety
Safety screen in billWright

The Safety screen manages toolbox talks: running them, recording acknowledgments, and maintaining a topic library.

Running a talk

  1. Navigate to #/safety.
  2. Click + Run a talk in the top-right corner. A modal opens.
  3. Select or type a topic (optionally from the topic library), choose the job (or leave blank for all jobs), set the date, and indicate whether crew acknowledgment is required.
  4. Save. The talk is recorded and crew members are prompted to acknowledge it in the punch app.

Viewing records

  1. Click the Records tab (active by default).
  2. The table shows each held talk with columns: Held (date), Topic, Job (or "All jobs" if not job-specific), and Acknowledged (a green pill if all crew have acknowledged, amber if pending).
  3. Click any row to open the acknowledgment roster, which lists each crew member and whether they have acknowledged.

Managing the topic library

  1. Click the Topic library tab.
  2. The library lists all sheet templates with their title and active/archived status.
  3. To add a new sheet, use the add control in the library tab.
  4. To edit an existing sheet, click its row.
  5. To archive a sheet so it no longer appears in the "Run a talk" picker, click the archive action on the row.

Library

In the app#/library
Library screen in billWright

The Library screen is a searchable archive of everything filed from the field (field posts, photos, notes) with a Daily log tab and the ability to publish a curated selection to a client share link.

Browsing the library

  1. Navigate to #/library. The screen loads the Library tab by default.
  2. Use the toolbar filters to narrow results: Search (free text across notes, jobs, and people), Job (dropdown), and Kind (post or media).
  3. Toggle between Stream and Gallery views using the view control.
  4. Items show the author, their role, the job, and any attached photos.

Selecting items to publish

  1. Check the selection control on each item you want to include in a client package.
  2. When at least one item is selected, the Publish selected button in the top-right becomes active.
  3. Click Publish selected. A modal opens where you can set a title and optional expiry date for the share link.
  4. Confirm. A share link (token URL) is minted and displayed. Past published packages for the same job are listed and can be revoked.

Viewing the daily log

  1. Click the Daily log tab.
  2. Select a job and a date. The log shows the crew on that job that day, total hours, and all items filed (posts, photos, notes) for that job and date.
  3. Use the Print / PDF link to generate a printable version.

Daily Reports

In the app#/daily-reports
Daily Reports screen in billWright

The Daily Reports screen lists end-of-day reports filed by foremen from the field.

Browsing reports

  1. Navigate to #/daily-reports.
  2. Use the toolbar filters: Job (dropdown), From (date), and To (date). The Job filter applies immediately on change; the date filters reload the full list from the server.
  3. The table shows: Date, Job, Foreman, Crew (count), Hours, and Photos (count). The list defaults to most-recent first.

Opening a report

  1. Click any row to open the report drawer.
  2. The drawer shows the narrative fields: Work done, Issues, Needs, and Weather.
  3. Below the narrative is the verified crew hours table and a photo strip.
  4. A Print / PDF link is available to download or print the report.

Incidents

In the app#/incidents
Incidents screen in billWright

The Incidents screen is the queue for injuries, near misses, and property damage reported from the field.

Viewing incidents

  1. Navigate to #/incidents.
  2. Use the All / Open / Reviewing / Closed segmented filter at the top of the table to narrow by status.
  3. The table shows: When (date/time), Type (Injury, Near miss, Property, or Other pill), Who (employee name), Job, Severity (High, Medium, Low, or Not set), and Status.
  4. The list defaults to most-recent first.

Opening an incident

  1. Click any row (or navigate directly to #/incidents/<id> from a notification link) to open the incident drawer.
  2. The drawer shows the worker's written report, any attached photos, and the linked clock punch (clock-in/out record from the punch app's injury check at clock-out).
  3. A notes thread below shows all owner notes with timestamps, and any status transitions that were logged.

Adding a note, changing status, or setting severity

  1. In the open incident drawer, use the note/status/severity controls at the bottom of the notes thread.
  2. Type a note and/or select a new status (Open, Reviewing, Closed) or severity (High, Medium, Low).
  3. Save. The new entry appears in the thread and the table row updates to reflect the new status and severity.