Setting Up Payroll Integration

General Special Features Integrations Last updated: June 20, 2025 Version: 1.1

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:

  1. Data Export: Manually or automatically export time and attendance data in CSV format for import into your payroll system
  2. API Integration: Connect your payroll system directly to the Shifts API to pull time and attendance data
  3. 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:

  1. Administrator Access: You need administrator-level permissions in the Shifts platform
  2. Payroll System Details: Documentation about your payroll system’s import formats or API requirements
  3. IT Support: For complex integrations, you may need IT support to set up secure connections
  4. 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

  1. Navigate to Admin > Integrations > Payroll Export
  2. 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
  3. Click Generate Export
  4. When processing completes, click Download CSV
  5. Import the downloaded file into your payroll system

Setting Up Scheduled Exports

For recurring payroll periods:

  1. Navigate to Admin > Integrations > Scheduled Exports
  2. Click Create Schedule
  3. 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”
  4. If using SFTP, provide server details, credentials, and destination path
  5. 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

  1. Navigate to Admin > Integrations > API Tokens
  2. Click Generate New Token
  3. 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
  4. Click Generate Token
  5. 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:

  1. Navigate to Admin > Integrations > Webhooks
  2. Click Create Webhook
  3. 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 in
      • attendance.check_out: Sent when employees clock out
      • attendance.missed: Sent when scheduled shifts are missed
      • attendance.approved: Sent when records are approved
    • Secret: Generate a secret key for signature validation
    • Format: Typically JSON for modern systems
  4. Click Save Webhook
  5. 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:

  1. Navigate to Admin > Time & Attendance > Review Records
  2. Records requiring review are flagged with warning indicators
  3. For each flagged record:
    • Review check-in/out times
    • Check for missed punches or excessive breaks
    • Compare against scheduled shifts
  4. Choose from these actions:
    • Approve: Accept the record as valid
    • Adjust: Modify times if needed
    • Reject: Decline the record with a reason
  5. 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:

  1. Token Management: Rotate API tokens periodically and revoke unused tokens
  2. IP Restrictions: Limit API access to your payroll system’s IP addresses
  3. Minimal Permissions: Grant only the specific permissions needed
  4. Secure Transfer: Use SFTP with proper encryption for file transfers
  5. Data Validation: Verify data in both systems after initial setup
  6. 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:

  1. Test Thoroughly: Validate integration in a test environment before using in production
  2. Document Mapping: Maintain documentation of how Shifts fields map to payroll fields
  3. Regular Audits: Periodically compare data between systems to ensure accuracy
  4. Incremental Setup: Start with basic export integration before implementing API or webhooks
  5. Review Workflow: Implement a consistent review process for attendance data
  6. Backup Procedure: Have a manual export process ready as a backup
  7. Regular Maintenance: Update integrations when either system changes

Related Resources

This article should be updated when:

  1. New payroll integration methods are added
  2. The export format or options change
  3. API endpoints or authentication methods are modified
  4. New webhook events become available
  5. The list of tested payroll systems is expanded