Timesheets HowTo Featured Hot Topic

Timesheet Permissions and Real-World Scenarios

Timesheet Permissions and Real-World Scenarios

This guide explains the timesheet permission system in depth and walks through real-world scenarios showing how to set up different user types for various timesheet workflows.

Understanding Timesheet Permissions

Two Levels of Permissions

Site Service Pro uses a two-tier permission system for timesheets:

  1. Global Permissions - Apply across all projects
  2. Project Permissions - Apply to specific projects only

Global Timesheet Permissions

Permission What It Allows
CanCreateTimesheets Create new timesheets, edit drafts
CanApproveTimesheets Approve/reject any submitted timesheet
CanCloseTimesheets Close approved timesheets (finalize)
CanViewAllTimesheets View all timesheets regardless of project
CanEditAnyTimesheet Edit timesheets created by others (draft only)
CanDeleteTimesheets Delete draft timesheets
CanBeOnTimesheet Can appear as employee in labor entries

Project-Level Timesheet Permissions

Permission What It Allows
can_view View non-draft timesheets for this project
can_create_timesheets Create timesheets for this project
can_approve_timesheets Approve timesheets for this project

How Permissions Interact

The system uses OR logic between global and project permissions:

Can user approve this timesheet?
├── Has global CanApproveTimesheets? → YES ✓
└── Has project-level can_approve_timesheets? → YES ✓

Either path grants access.

Real-World Scenario 1: Third-Party Inspector

The Situation

Your client (ABC Corporation) has hired an independent inspector, Sarah Johnson, to verify your team's timesheets before the client approves payment. Sarah works for a third-party inspection firm - she's not your employee and doesn't need access to anything except reviewing and approving timesheets for the ABC Corporation project.

The Goal

  • Sarah can only approve timesheets for the ABC Corporation project
  • Sarah cannot create timesheets
  • Sarah cannot see any other projects
  • Sarah cannot access any other features
  • Sarah gets notified when timesheets need approval

Setup Steps

Step 1: Create Sarah as a User

  1. Go to UsersAdd User
  2. Enter Sarah's information:
  3. Set Role: Employee (NOT Admin)
  4. Do NOT check any global permissions
    • Leave all permissions unchecked
    • Sarah should have zero global permissions

Step 2: Add Sarah to the Project Team

  1. Go to Projects → Find "ABC Corporation - Main Building"
  2. Click Team tab
  3. Click Assign User
  4. Select Sarah Johnson
  5. Set Project Role: Viewer (not Project Manager)

Step 3: Set Project-Specific Permissions

In Sarah's project assignment, set ONLY:

  • can_approve_timesheets - YES
  • ❌ can_view - Optional (she'll see timesheets via approve permission)
  • ❌ can_create_timesheets - NO
  • ❌ All other permissions - NO

Result

Sarah can now:

  • ✅ Log into Site Service Pro
  • ✅ See the ABC Corporation project in her project list
  • ✅ View submitted timesheets for ABC Corporation
  • ✅ Approve or reject those timesheets
  • ❌ Cannot see any other projects
  • ❌ Cannot create timesheets
  • ❌ Cannot see draft timesheets
  • ❌ Cannot access documents, RFIs, costs, or any other features
  • ❌ Cannot approve timesheets for other projects

Sarah's Experience

When Sarah logs in:

  1. She sees only ABC Corporation project
  2. Dashboard shows pending approvals for that project
  3. She can click into each timesheet, review hours
  4. She can Approve or Reject with comments
  5. That's it - clean, focused interface

Real-World Scenario 2: Field Foreman

The Situation

Mike is a foreman who leads a crew of 5 workers. He needs to create timesheets for his crew daily, but should not be able to approve his own timesheets.

The Goal

  • Mike creates timesheets for his crew
  • Mike can see his draft and submitted timesheets
  • Mike cannot approve any timesheets
  • Mike's crew members appear on the timesheets

Setup Steps

Step 1: Create/Update Mike's User

  1. Go to Users → Find or Add Mike
  2. Set Role: Employee
  3. Set Global Permissions:
    • CanCreateTimesheets - YES
    • CanBeOnTimesheet - YES (Mike works too)
    • ❌ CanApproveTimesheets - NO
    • ❌ CanViewAllTimesheets - NO
  4. Optionally assign Classification: "Foreman"

Step 2: Set Up Crew Members

For each crew member (workers who don't create timesheets):

  1. Create User if needed
  2. Set Role: Employee
  3. Set Global Permissions:
    • CanBeOnTimesheet - YES
    • ❌ CanCreateTimesheets - NO (foreman creates for them)
    • ❌ All other timesheet permissions - NO

Step 3: Assign Mike to Projects

For each project Mike's crew works on:

  1. Go to Project → Team
  2. Add Mike with role "Foreman"
  3. Set project permissions:
    • ✅ can_create_timesheets - YES
    • ❌ can_approve_timesheets - NO

Mike's Daily Workflow

  1. At end of work day, Mike opens Site Service Pro
  2. Creates new timesheet for today
  3. Selects the project they worked on
  4. Adds each crew member with their hours
  5. Adds himself with his hours
  6. Describes work performed
  7. Submits for approval
  8. Office manager or project manager approves

Real-World Scenario 3: Multi-Project Manager

The Situation

Jennifer is a Project Manager overseeing 5 different projects. She needs to:

  • View all timesheets for her projects
  • Approve timesheets for her projects
  • Sometimes create timesheets for small crews
  • See cost information

The Goal

  • Jennifer approves timesheets for her 5 projects
  • Jennifer does not approve timesheets for other PMs' projects
  • Jennifer has visibility into costs and job costing

Setup: Option A - Project-Level Permissions

For more controlled access (recommended):

Step 1: Set Jennifer's Global Permissions

  • CanCreateTimesheets - YES (can create when needed)
  • CanApproveTimesheets - NO (use project-level instead)
  • CanViewAllTimesheets - NO (only her projects)

Step 2: Assign to Each Project

For each of Jennifer's 5 projects:

  1. Add Jennifer to Team as "Project Manager"
  2. Set permissions:
    • ✅ can_view - YES
    • ✅ can_create_timesheets - YES
    • ✅ can_approve_timesheets - YES
    • ✅ can_view_costs - YES
    • ✅ can_view_job_costing - YES

Result

  • Jennifer sees and approves ONLY her 5 projects' timesheets
  • Other PMs cannot see Jennifer's projects
  • Clean separation of responsibilities

Setup: Option B - Global Approval Permission

For simpler setup if separation isn't critical:

Step 1: Set Global Permissions

  • CanApproveTimesheets - YES (can approve any)
  • CanViewAllTimesheets - YES
  • CanCreateTimesheets - YES

Result

  • Jennifer can approve ANY timesheet in the system
  • Simpler but less controlled
  • Use only if PMs regularly cover for each other

Real-World Scenario 4: Office Administrator

The Situation

Amanda works in the office. She doesn't go to job sites but needs to:

  • Close timesheets after payroll runs
  • View all timesheets for reporting
  • Create timesheets for PTO and vacation

Setup Steps

Set Amanda's Global Permissions

  • CanViewAllTimesheets - YES
  • CanCloseTimesheets - YES
  • CanCreateTimesheets - YES (for PTO entries)
  • CanApproveTimesheets - NO (optional - depends on role)
  • CanBeOnTimesheet - NO (office staff)

Amanda's Workflow

  1. Payroll period ends
  2. Verify all timesheets are approved
  3. Run payroll report
  4. Select approved timesheets from the period
  5. Batch close them
  6. Timesheets archived, ready for next period

Real-World Scenario 5: Worker Who Only Logs Own Time

The Situation

Dave is a skilled electrician who works independently. He needs to:

  • Create his own daily timesheet
  • Submit for approval
  • Not create timesheets for others

Setup Steps

Set Dave's Global Permissions

  • CanCreateTimesheets - YES
  • CanBeOnTimesheet - YES
  • ❌ All other permissions - NO

Dave's Workflow

  1. End of each work day, Dave creates timesheet
  2. Selects the project he worked on
  3. Adds himself as only labor entry
  4. Enters his hours
  5. Submits
  6. Foreman or PM approves

Real-World Scenario 6: Client Representative Approver

The Situation

Your contract with Big Construction Co requires their project coordinator, Tom, to approve all labor charges before invoicing. Tom needs to:

  • Review submitted timesheets for his company's projects
  • Approve or reject based on their verification
  • Have no other access to your system

This is Similar to Third-Party Inspector

Setup Steps

  1. Create Tom as a User with Employee role
  2. Zero global permissions - don't check anything
  3. Add Tom to the Big Construction Co project
  4. Set only can_approve_timesheets permission
  5. Tom logs in, sees only that project's timesheets

Key Difference from Internal Approvers

  • Tom has NO global permissions
  • Tom sees ONLY projects he's assigned to
  • Tom cannot create, close, or manage anything
  • Tom's entire experience is "view submitted → approve or reject"

Permission Combinations Quick Reference

Field Worker (Creates Own Time)

Global:
  ✅ CanCreateTimesheets
  ✅ CanBeOnTimesheet
Project: (assign to projects they work on)
  ✅ can_create_timesheets

Foreman (Creates for Crew)

Global:
  ✅ CanCreateTimesheets
  ✅ CanBeOnTimesheet
Project:
  ✅ can_create_timesheets
  ❌ can_approve_timesheets

Project Manager (Approves Own Projects)

Global:
  ✅ CanCreateTimesheets
Project:
  ✅ can_create_timesheets
  ✅ can_approve_timesheets
  ✅ can_view

Office Manager (Approves All)

Global:
  ✅ CanApproveTimesheets
  ✅ CanViewAllTimesheets
  ✅ CanCloseTimesheets
  ✅ CanCreateTimesheets

Third-Party Approver (Project-Only)

Global:
  ❌ (none)
Project:
  ✅ can_approve_timesheets
  ❌ (nothing else)

Worker (Appears on Timesheets Only)

Global:
  ✅ CanBeOnTimesheet
  ❌ (nothing else - foreman creates for them)

Common Permission Mistakes

Mistake 1: Giving Global Approve to Everyone

Problem: Every PM can approve any timesheet
Fix: Use project-level can_approve_timesheets

Mistake 2: Forgetting CanBeOnTimesheet

Problem: Employee can't be added to timesheets
Fix: Enable CanBeOnTimesheet for all workers

Mistake 3: Third-Party Gets Global Permissions

Problem: Inspector can see all projects
Fix: Use ONLY project-level permissions

Mistake 4: Foreman Can Approve Own Timesheets

Problem: No oversight on foreman's crew
Fix: Don't give foreman approval permission


Testing Permission Setup

After setting up a user, verify:

As Admin

  1. Log out
  2. Log in as the new user
  3. Verify they see only expected projects
  4. Verify they can/cannot perform expected actions
  5. Log back in as admin

Checklist

  • User sees correct projects
  • User can/cannot create timesheets
  • User can/cannot approve timesheets
  • User can/cannot see other projects
  • Approval queue shows correct items

Was this article helpful?
Thank you for your feedback!

Your input helps us improve our documentation.