Time Tracking
Time Tracking lets your team clock in and clock out against jobs, review weekly timesheets, and keep labor hours tied to job work.

Open Time Tracking from the main navigation after enabling the plugin in Settings → Features. In the app, the page lives at /time even though the feature is named Time Tracking.
When to use Time Tracking
Use Time Tracking when your team needs to:
- Clock in and clock out for field work.
- See who is currently on the clock.
- Review weekly timesheets across the team.
- Track total hours logged against each job.
- Enforce policies like requiring a job on every clock-in.
Before you start
- Enable the plugin. Open Settings → Features and turn on Time Tracking. The page shows a disabled message with an Open Settings link until the plugin is active.
- Add your team. Each team member who will clock in must be active in Team. Inactive members do not appear on the time tracking page.
- Have at least one pending or in-progress job. If you plan to require a job on every clock-in, those are the only jobs shown in the selector.
- Review the time tracking settings. Open Time Tracking → Settings from the page header to confirm the rounding interval, week-start day, and whether manual entries or job linking should be enforced. Defaults work for most teams, but payroll-matching setups benefit from an early review.
The time tracking page
Clock-in widget cards
Each active team member has a card showing:
- Weekly total — hours logged this week.
- Clock In / Clock Out button — toggles based on whether the team member is currently clocked in.
- Last clock-in time — when they last started work.
If the "Require a job on every entry" policy is enabled, a job selector appears before clocking in. Only pending and in-progress jobs are shown.
Weekly timesheet table
The main area shows all time entries for the current week:
| Column | Content |
|---|---|
| Team Member | Who logged the time |
| Job | The linked job (clickable) |
| Date | When the work happened |
| Clock In | Start time |
| Clock Out | End time |
| Duration | Total hours and minutes |
| Source | Manual entry or live clock-in |
Open entries (team members still clocked in) show an "In Progress" badge with a live-updating duration.
Clock in
- Find the team member's card.
- If a job is required, select the job from the dropdown.
- Click Clock In.
The team member is now on the clock. Their entry will appear in the weekly timesheet.
Clock out
- Find the team member's card (they must be clocked in).
- Click Clock Out.
The entry is closed with the current time and the duration is calculated.
Manual time entries
When the "Allow manual entries" setting is enabled, after-the-fact entries are permitted by the time-tracking policy. Use them for corrections such as work that happened before the team member remembered to clock in.
When manual entries are disabled, only live clock-in and clock-out is permitted. If your account does not show a manual-entry form yet, keep the setting enabled only if your team has an approved correction workflow through the available product surface.
Settings
Open Time Tracking → Settings from the page header to configure policies.
| Setting | Description | Default |
|---|---|---|
| Rounding interval | Logged durations are rounded to this interval when totaling (1 to 60 minutes) | 15 minutes |
| Overtime threshold | Hours per week after which time is considered overtime (informational, not enforced) | 40 |
| Require a job on every entry | When on, clocking in without selecting a job is rejected | Off |
| Allow manual entries | When off, only live clock-in/clock-out is permitted | On |
| Week starts on | Day of the week when timesheets roll over | Sunday |
Per-job time totals
The API tracks total hours logged against each job. This data feeds into job costing and labor reports when those plugins are enabled.
Tips
- Enforce the "require a job" policy so all time is tied to specific work.
- Use manual entries sparingly — live clock-in gives the most accurate timestamps.
- Check the weekly timesheet at the end of each week to catch missed clock-outs.
- Set the rounding interval to match your payroll policy (for example, 15-minute rounding).
- Turn on Require a job on every entry if job costing is more important than allowing quick unassigned clock-ins.
Troubleshooting
The Clock In button is disabled
Check whether Require a job on every entry is turned on in Time Tracking settings. When that policy is enabled, choose a pending or in-progress job before clocking in.
A team member or job is missing
Confirm the team member is active and that the job is still pending or in progress. Completed or inactive records may not appear in the clock-in selector.
Totals do not match payroll exactly
Review the rounding interval, week-start day, and any open entries that have not been clocked out yet. Overtime threshold is informational today, so use payroll review before processing checks.
