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:
- Global Permissions - Apply across all projects
- 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
- Go to Users → Add User
- Enter Sarah's information:
- Email: [email protected]
- First Name: Sarah
- Last Name: Johnson
- Set Role: Employee (NOT Admin)
- Do NOT check any global permissions
- Leave all permissions unchecked
- Sarah should have zero global permissions
Step 2: Add Sarah to the Project Team
- Go to Projects → Find "ABC Corporation - Main Building"
- Click Team tab
- Click Assign User
- Select Sarah Johnson
- 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:
- She sees only ABC Corporation project
- Dashboard shows pending approvals for that project
- She can click into each timesheet, review hours
- She can Approve or Reject with comments
- 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
- Go to Users → Find or Add Mike
- Set Role: Employee
- Set Global Permissions:
- ✅ CanCreateTimesheets - YES
- ✅ CanBeOnTimesheet - YES (Mike works too)
- ❌ CanApproveTimesheets - NO
- ❌ CanViewAllTimesheets - NO
- Optionally assign Classification: "Foreman"
Step 2: Set Up Crew Members
For each crew member (workers who don't create timesheets):
- Create User if needed
- Set Role: Employee
- 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:
- Go to Project → Team
- Add Mike with role "Foreman"
- Set project permissions:
- ✅ can_create_timesheets - YES
- ❌ can_approve_timesheets - NO
Mike's Daily Workflow
- At end of work day, Mike opens Site Service Pro
- Creates new timesheet for today
- Selects the project they worked on
- Adds each crew member with their hours
- Adds himself with his hours
- Describes work performed
- Submits for approval
- 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:
- Add Jennifer to Team as "Project Manager"
- 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
- Payroll period ends
- Verify all timesheets are approved
- Run payroll report
- Select approved timesheets from the period
- Batch close them
- 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
- End of each work day, Dave creates timesheet
- Selects the project he worked on
- Adds himself as only labor entry
- Enters his hours
- Submits
- 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
- Create Tom as a User with Employee role
- Zero global permissions - don't check anything
- Add Tom to the Big Construction Co project
- Set only can_approve_timesheets permission
- 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
- Log out
- Log in as the new user
- Verify they see only expected projects
- Verify they can/cannot perform expected actions
- 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
Related Articles
- Timesheet Overview - Complete workflow explanation
- Creating and Submitting Timesheets - For timesheet creators
- Approving and Managing Timesheets - Approval process details
- Understanding Users and Permissions - General permission guide