OD User Role Detail

Estimated reading: 2 minutes 119 views

1. Production (UserType = 1)

Classification: Full-time field employees

Timesheet Processing:

– ✅ Sent to QuickBooks payroll via QBTimeTracking

– Has QuickBooks Employee/Resource ID (ExternalId)

– Pay rates from QuickBooks PayrollItemWage

– Subject to overtime calculations (40+ hours triggers OT)

– Can have multiple pay types (standard, overtime, PTO)

– Typically have roles: FieldWorker, Supervisor

Scheduling:

– Scheduled to jobs via GetUnassignedEmployeesForDate()

– Tracked with PTO/personal time off

2. Vendor (UserType = 2)

Classification: Contract workers/1099 contractors

Timesheet Processing:

– ❌ NOW FILTERED OUT from QuickBooks payroll (with our recent change)

– Previously was incorrectly sent to payroll causing OT issues

– Should be paid via vendor bills (future implementation)

– Has QuickBooks Vendor ID stored

– Typically no overtime calculations should apply

Scheduling:

– Scheduled separately via GetUnassignedVendorsForDate()

– Managed as external contractors

3. Seasonal (UserType = 3)

Classification: Temporary/seasonal employees

Timesheet Processing:

– ✅ Sent to QuickBooks payroll via QBTimeTracking

– Treated same as Production employees for payroll

– Has QuickBooks Employee/Resource ID

– Pay rates from QuickBooks PayrollItemWage

– Subject to overtime calculations

– Can have seasonal-specific pay rates

Scheduling:

– Not specifically separated in scheduling functions

– Likely grouped with Production employees

– May have date-based activation/deactivation

4. Office (UserType = 4)

Classification: Administrative/office staff

Timesheet Processing:

– ✅ Sent to QuickBooks payroll via QBTimeTracking

– Treated same as Production for payroll purposes

– Has QuickBooks Employee/Resource ID

– Pay rates from QuickBooks PayrollItemWage

– May have different overtime rules (salaried vs hourly)

– Typically have roles: Admin, ProjectManager, Scheduler

Scheduling:

– Not typically scheduled to field jobs

– May track time differently (not job-based)

– Can approve timesheets for others

5. None (UserType = 0)

Classification: Unassigned/default state

Timesheet Processing:

– Should not have time entries

– Used as default/placeholder value

Share this Doc

OD User Role Detail

Or copy link

CONTENTS