Setting Up Payroll Integration
Setting Up Payroll Integration
Learn how to configure the Shifts platform to integrate with your payroll system, ensuring accurate time and attendance data flows seamlessly for efficient payroll processing.
Overview
The Shifts platform provides flexible integration options to connect your time and attendance data with your payroll system. Rather than offering limited, specific vendor integrations, Shifts uses open standards like API access and webhooks, allowing you to connect with virtually any modern payroll system. This article explains how to set up and maintain these integrations.
Integration Methods
The platform offers three primary methods for integrating with payroll systems:
- Data Export: Manually or automatically export time and attendance data in CSV format for import into your payroll system
- API Integration: Connect your payroll system directly to the Shifts API to pull time and attendance data
- Webhooks: Configure real-time notifications that trigger when attendance events occur
Most organizations will use a combination of these methods based on their specific needs and payroll system capabilities.
Prerequisites for Integration
Before setting up payroll integration, ensure you have:
- Administrator Access: You need administrator-level permissions in the Shifts platform
- Payroll System Details: Documentation about your payroll system’s import formats or API requirements
- IT Support: For complex integrations, you may need IT support to set up secure connections
- Data Mapping Plan: Understanding of how data fields in Shifts map to your payroll system
Setting Up Data Export
The simplest integration method is exporting attendance data for manual or automated import:
Creating a Manual Export
- Navigate to Admin > Integrations > Payroll Export
- Configure export parameters:
- Date Range: Select the pay period
- Locations: Choose which locations to include
- Data Type: Select “Attendance Records”
- Format: Choose CSV (most common for payroll)
- Include Headers: Typically enabled for field mapping
- Click Generate Export
- When processing completes, click Download CSV
- Import the downloaded file into your payroll system
Setting Up Scheduled Exports
For recurring payroll periods:
- Navigate to Admin > Integrations > Scheduled Exports
- Click Create Schedule
- Configure schedule settings:
- Name: Provide a descriptive name (e.g., “Bi-weekly Payroll Export”)
- Frequency: Select Weekly, Bi-weekly, or Monthly
- Day of Week/Month: Select when exports should run
- Export Parameters: Configure as with manual exports
- Delivery Method: Choose “Download Link”, “Email”, or “SFTP”
- If using SFTP, provide server details, credentials, and destination path
- Click Save Schedule
Scheduled exports will run automatically and can be delivered directly to your payroll system via SFTP.
Configuring API Integration
For real-time access to attendance data:
Creating API Tokens
- Navigate to Admin > Integrations > API Tokens
- Click Generate New Token
- Configure token settings:
- Token Name: Provide a descriptive name (e.g., “Payroll System API”)
- Permissions: Select only what’s needed (typically “Read Attendance Records”, “Read Shifts”, “Read Users”)
- IP Restrictions: Optionally limit access to specific IP addresses
- Expiration: Set an expiration date or leave blank for no expiration
- Click Generate Token
- Copy and securely store the token - it won’t be displayed again
Using the API
Provide these details to your payroll system administrator or integration team:
- API Base URL:
https://your-instance.shifts.com/api/v1/ - Authentication: Bearer Token
- Key Endpoints:
/attendance_records: Time and attendance data/shifts: Scheduled shift information/users: Employee details/exports: Create and retrieve exports
Complete API documentation is available at Admin > Integrations > API Documentation.
Setting Up Webhooks
For real-time notifications of attendance events:
- Navigate to Admin > Integrations > Webhooks
- Click Create Webhook
- Configure webhook settings:
- Name: Provide a descriptive name (e.g., “Payroll System Attendance Notifications”)
- URL: Enter the endpoint URL provided by your payroll system
- Events: Select relevant events:
attendance.check_in: Sent when employees clock inattendance.check_out: Sent when employees clock outattendance.missed: Sent when scheduled shifts are missedattendance.approved: Sent when records are approved
- Secret: Generate a secret key for signature validation
- Format: Typically JSON for modern systems
- Click Save Webhook
- Test the webhook using the Send Test Event button
Provide the webhook secret to your payroll system administrator for signature verification.
Data Reconciliation and Approval
Before data reaches payroll, ensure accuracy with the approval workflow:
- Navigate to Admin > Time & Attendance > Review Records
- Records requiring review are flagged with warning indicators
- For each flagged record:
- Review check-in/out times
- Check for missed punches or excessive breaks
- Compare against scheduled shifts
- Choose from these actions:
- Approve: Accept the record as valid
- Adjust: Modify times if needed
- Reject: Decline the record with a reason
- Only approved records are included in payroll exports
This review process ensures accuracy before data reaches your payroll system.
Security Considerations
When integrating with payroll systems:
- Token Management: Rotate API tokens periodically and revoke unused tokens
- IP Restrictions: Limit API access to your payroll system’s IP addresses
- Minimal Permissions: Grant only the specific permissions needed
- Secure Transfer: Use SFTP with proper encryption for file transfers
- Data Validation: Verify data in both systems after initial setup
- Access Control: Limit who can configure integrations and export data
Troubleshooting Common Issues
If you encounter integration problems:
Export Issues
- Missing Data: Check export filters and ensure all locations are included
- Format Errors: Verify CSV format matches payroll system requirements
- Processing Delays: Large exports may take time; check status in Export History
API Issues
- Authentication Errors: Verify token is valid and has correct permissions
- Rate Limiting: Ensure you’re not exceeding API request limits
- Data Discrepancies: Check filters to ensure all relevant data is included
Webhook Issues
- Failed Delivery: Verify destination URL is correct and accessible
- Signature Validation: Ensure secret key is correctly configured in both systems
- Missing Events: Confirm webhook is subscribed to needed event types
Supported Payroll Systems
While the Shifts platform can technically integrate with any payroll system that supports standard data formats or APIs, these systems have been tested:
- ADP Workforce Now
- Gusto
- Paychex Flex
- QuickBooks Payroll
- Workday
- BambooHR
- UKG Pro (formerly UltiPro)
- Paylocity
For other systems, contact your payroll provider for their integration requirements.
Best Practices
For optimal results when using Payroll Integration:
- Test Thoroughly: Validate integration in a test environment before using in production
- Document Mapping: Maintain documentation of how Shifts fields map to payroll fields
- Regular Audits: Periodically compare data between systems to ensure accuracy
- Incremental Setup: Start with basic export integration before implementing API or webhooks
- Review Workflow: Implement a consistent review process for attendance data
- Backup Procedure: Have a manual export process ready as a backup
- Regular Maintenance: Update integrations when either system changes
Related Resources
This article should be updated when:
- New payroll integration methods are added
- The export format or options change
- API endpoints or authentication methods are modified
- New webhook events become available
- The list of tested payroll systems is expanded