Overtime Exemption

According to the Fair Labor Standards Act (FLSA), Section 7(i) in the United States, employees in retail or service organizations who are paid by commission in whole or in part, do not earn overtime premiums. This integration verifies that all conditions for an overtime exemption are met and determines whether or not to allow the exemption. If the exemption is not allowed, the employee is paid the overtime premium automatically for the previous pay period.

Note: This integration is an extension that is developed outside the normal release schedule to meet specific customer needs; it must be installed by an Integration Consultant. To request one of these extensions, you must submit a request by way of the Gateway Request Portal for BITS, accompanied by a change order.

Normally, employees are entitled to be paid an overtime premium of 1.5 times the regular pay rate for all hours that they work over 40 hours in a week. However, employees are not paid the overtime premium when all of the following conditions are met:

  • The employee works in the service industry.
  • More than 50% of the employee's earnings during the reference period come from commissions.
  • The average rate of pay is greater than 1.5 times the legislated minimum hourly wage for every hour worked during the previous pay period when the employee worked overtime hours.
  • The employee worked overtime during the previous pay period.

If employees are excluded from receiving overtime premiums, the integration adds a work rule transfer to their Timecard.

Use case

An employee works in the service industry and earns commissions in addition to a base wage.

  • Base wage = $10/hour.
  • Overtime rate = $15/hour (150%).
  • Minimum wage = $8/hour.
  • Previous pay period = Week 42.
  • Reference period = 7 days (Week 41: 4 —10 October).

On Payroll Monday of Week 43 (the current pay period), the integration evaluates the previous pay period:

Example reference period - Week 41

Use case example reference period for Week 41

Date

Hours worked

Overtime hours

Base earnings

Overtime earnings

Commissions

04 Oct

10

$100

05 Oct

8

$80

$100

06 Oct

8

$80

$100

07 Oct

8

$80

$100

08 Oct

6

2

$60

$30

$100

09 Oct

8

$120

$300

10 Oct

Subtotals

40

10

$400

$150

$700

The total earnings are $1250($400 base + 150 overtime + 700 commissions) for 50 hours (40 worked + 10 overtime).

Example previous pay period - Week 42

Use case example previous pay period for Week 42

Date

Hours worked

Overtime hours

Base earnings

Overtime earnings

Commissions

11 Oct

10

$100

12 Oct

8

$80

13 Oct

8

$80

14 Oct

8

$80

15 Oct

6

2

$60

$30

$50

16 Oct

8

$120

$100

17 Oct

Subtotals

40

10

$400

$150

$150

The total earnings are $700($400 base + 150 overtime + 150 commissions) for 50 hours (40 worked + 10 overtime).

The integration validates the following conditions:

  1. Are commissions greater than 50% of total earnings during the reference period?
    • Total earnings = $1250.
    • 50% of total earnings = $625.
    • Commissions = $700 which is greater than 50% of total earnings.
    • So, this condition is met.
  2. Is the average rate of pay greater than 1.5 times the legislated minimum hourly wage for every hour worked during the previous pay period?
    • Average pay rate = $700/50 hours = $14/hour.
    • Minimum hourly wage = $8/hour.
    • Minimum hourly wage X 1.5 = $12/hour which is less than the average pay rate.
    • So, this condition is met.
  3. Did the employee work overtime hours during the previous pay period?
    • Overtime = 10 hours.
    • So, this condition is met.

Because all conditions are met, the integration adds an override work-rule transfer to remove overtime hours and overtime earnings on the days worked during the previous pay period (Week 42, Oct 11—16).

The employee's Timecard shows the work-rule transfers, and comments and notes provide details.

Example Timecard and work rule transfers


Example Timecard for overtime exemption

Example details for overtime exemption work-rule override

Before you start

Before you configure this integration, you must do the following:

  1. Configure Access to Integrations.

  2. Configure the following:
    • Comment: Configure a comment to identify the overtime exemptions.

      See the Comments topic.

      Example: Adjusted by FLSA 7i Integration

    • Combined paycode: Create combined paycodes that hold all paycodes for worked hours, paycodes for commissions, and overtime paycodes to exempt.

      See the Combined Paycodes topic.

      Examples: Total Worked, Total Commissions, Total Overtime

  3. Get the URL, User, and Password for the APIGatewayServer.

Configure the Overtime Exemption integration

  1. Deploy the Overtime Exemption integration
    Note: For more information, see the Deploy Integration Packs to your Atom topic.
    1. Open the Integration Template Designer: Select Main Menu Administration > Application Setup > Integrations Setup > Design Integration Templates.

      Note: If prompted, enter your Username and Password. Click Tap Log in.
    2. Make sure that the Account is correct. If not, select the right account.

    3. Select the Deploy tab > Integration Packs.
    4. From the list in the left column, search for and select the Pro WFM FLSA 7i Overtime Exemption Extension integration.
      Note: If the integration does not display, select Browse Integration Packs to search for and select the iPack.
    5. Click Tap Install.

    6. From Unattached Environments, select the environment in which to deploy the integration process for the selected integration. Click Tap the double-left arrows button
      Select items
      .
  2. Configure the Overtime Exemption integration settings
    1. Select the environment
      1. Select the Manage tab > Atom Management.
      2. Select your environment.
    2. Select environment extensions
      1. In Administration, click tap Environment Extensions.
      2. In Process Filter, click tap the magnifying glass
        Search button
        . It can take several seconds before the button becomes active.
      3. Scroll to and select the integration pack: FLSA 7i Overtime Exemption > FLSA7iOvertimeExemption_iPack_v2.
  3. Configure connection settings
    Caution: If you select Use Default for the connection settings and process properties, ensure that Value is blank. If Value is not blank, that value overrides the default value whether or not Use Default is selected or cleared. Example: If the default value is abc, but Value shows xyz, the integration uses xyz regardless of the setting of Use Default.
    1. Select Connection Settings.
    2. From the Connection list, select and configure the following:

      Connection Settings

      Connection Settings for the Virtual Roster Employee Demographics Export integration

      Setting

      Required

      Actions

      FLSA7iOvertimeExemption_iPack_v2_APIGatewayServer

      Required

      To change the default API gateway server:

      1. Clear Use Default.
      2. Enter the URL to the server.

        Example: <tenantURL>/api

      FLSA7iOvertimeExemption_iPack_v2_MinimumBaseWageByLocation_CRT

      Required

      Enable Override.

  4. Configure process properties
    1. Select Process Properties.
      Caution: Do not edit the default values of the AuthenticationProperties. By default, cookies are enabled and set the values for authentication properties.
    2. Select FLSA7iOvertimeExemption_iPack_v2_CRTConfig to set process properties that must be configured before the integration can run. This main process starts the integration process and handles errors.

      Process Properties

      Process Properties

      Process property name

      Column header value

      _FLSA7iOvertimeExemption_iPack_v2_MinimumBaseWageByLocation_CRT

      VerID,Location,Minimum Wage Hourly Rate,Start Date,End Date

  5. Configure cross-reference tables

    Cross-reference tables (CRT) are the look-up tables that the integrations use to translate parameter values. One or more data values from the source system can be used to assign one or more parameters in the destination system.

    • If more than one row matches a reference value, the first match is the output value.
    • If no match is found, the output value can be null, or the integration can produce errors.
    1. Select Cross Reference.
    2. From the Cross Reference list, select the FLSA7iOvertimeExemption_iPack_v2 table.

    3. Select Override to:

      • Download the tables when you run the integration
      • Edit the table cells in Extensions
    4. When you finish, click tap OK.

    FLSA7iOvertimeExemption_iPack_v2_MinimumBaseWageByLocation_CRT: Maps the minimum wage rates to locations in the business structure.

    FLSA 7i Overtime Exemption — Minimum Base Wage By Location CRT structure

    FLSA 7i Overtime Exemption — Minimum Base Wage By Location CRT structure

    Column header

    Description

    VerID

    Version number for the minimum wage at the location. Start at 1 and increment sequentially by location.

    Note: You can use an asterisk ( *) as a wildcard, but put the less-restrictive locations at the bottom of the table because the integration scans cross-reference tables from the top.

    Location

    The business structure path for the location.

    Minimum Wage Hourly Rate

    The legislated minimum hourly wage associated with the Location.

    Start Date

    The effective start date for the Location and Minimum Wage Hourly Rate.

    End Date

    The effective end date for the Location and Minimum Wage Hourly Rate.

Install the Overtime Exemption integration

After the integrations are deployed and the connection settings and process properties are configured, install the integrations to make them available for running or scheduling.

Note:
  • An integration template is the configured integration that you deploy to an Atom and then install to make available for running or scheduling.

  • An installed integration is a single instance of an integration that is based on an integration template. When you install an integration, you can define parameters or set parameters to be defined when the integration is run.
  1. Select Main Menu Administration > Application Setup > Integrations Setup > Install Integrations.
  2. Click Tap Create .
  3. In Integration Name enter a unique name, such as FLSA7iOvertimeExemption_iPack_v2.
  4. (Optional) Enter a Description.
    Note: Do not select API Integration.
  5. In File Access, select None to not select a connection.
  6. (Optional) If the person who runs the integration doesn't have full access to integrations, select Execute Integration with System Account. This allows the integration access to all APIs in the FAP, and the relevant permissions and data, regardless of the FAP and GDAP of the person who runs the integration.
  7. (Optional) Select Re-Run to allow repeated runs of the integration with the same parameter values as the previous run.

  8. Email Notifications

    (Optional)

    1. Select Yes to send email and control center notifications for integration runs.
    2. Enter the email addresses of the recipients for the following types of run status. For multiple recipients, separate the addresses by a comma, but no spaces:

      In Progress — The integration run started and has not finished.

      Completed — The integration ran successfully without errors.

      Failed — The integration ran successfully, but one or more records have errors. The integration run is treated as failed. If Abort on Failure is configured in an integration set, the integration set stops.

      Completed with Errors — The integration run has errors or could not run.

  9. In Skip Configuration, select None(default) to allow multiple integrations to run at the same time or with the same data without restrictions.
    Note: Do not select Allow Minute Interval.
  10. Integration template and parameters
    1. In Integration Template, select FLSA7iOvertimeExemption_iPack_v2.
    2. Click Tap Assign .
    3. In Integration Parameters, you can override default settings.
    4. Complete the configuration for each parameter value.
    5. Click Tap Save.

    Repeat this step for each integration control parameter that supports the Overtime Exemption process.

    Integration parameters

    Integration parameters

    Parameter name

    Description / User prompt / Mandatory

    Template parameter

    Parameter type

    Hyperfind

    The default Hyperfind or Location query that contains the employees for whom the integration is run.

    Default = 1(All Home)

    User prompt = Yes

    Mandatory = Yes

    Note: Ad-hoc Hyperfinds are not supported. All Home does not include terminated and inactive employees even if they have totals during the period. To include these totals, configure a Hyperfind that includes terminated and inactive employees, and select that Hyperfind in this process property. The maximum number of employees in a Hyperfind is 3500. To process more employees, divide the population into smaller Hyperfinds to run sequentially.

    HyperfindAndLocation

    Hyperfind

    Reference Period

    The number of days before the start date of the previous pay period that the integration validates for worked hours and commissions.

    Default = 7 days.

    Supported values: from 1 to 365 days.

    User prompt = No

    Mandatory = Yes

    Note: To evaluate commissions, the reference period can be as short as one day but cannot be longer than one year.

    ReferencePeriod

    Number

    Comment Note

    A note is free text that you use to show the amounts for the comment with the override exemption.

    Default = Reference Period: #referenceperiod#||Total Earnings: #earnings#||Commissions Earned: #commissions#||State Minimum Wage Reference: #staterate#||Previous Pay Period Average Rate of Pay: #actualrate#.

    User prompt = No

    Mandatory = No

    Note:

    Enter the note but keep the #referenceperiod#, #earnings#, #commissions#, #staterate#, and #actualrate# placeholders. The integration completes these placeholders with the actual dates and amounts as follows:

    • #referenceperiod#: Reference period dates in the format MM/DD/YYYY—MM/DD/YYYY
    • #earnings#: Total Worked paycode wage for the reference period
    • #commissions#: Total Commissions paycode wage for the reference period
    • #staterate#: Minimum hourly wage rate = value from cross-reference table X Average rate of pay multiplier.
    • #actualrate#: The employee's average rate of pay from the previous pay period
    • ||: The integration displays text after this character in another note.

    CommentNote

    Total Worked

    The combined paycode that holds all paycodes for worked time such as Regular, Commissions, Overtime.

    Default = Total Worked.

    User prompt = No

    Mandatory = Yes

    TotalWorked

    Text

    Total Overtime

    The combined paycode that holds all overtime paycodes to exempt when all conditions for FLSA Section 7(i) are met.

    Default = Total Overtime.

    User prompt = No

    Mandatory = Yes

    TotalOvertime

    Text

    Totalization Wait Time

    How long to wait to run the integration again for employees whose override work rules during the previous pay period were rolled back.

    Default = 600 seconds.

    User prompt = No

    Mandatory = No

    Note: This parameter has not maximum value.

    TotalizationWaitTime

    Text

    Total Worked Threshold

    The minimum time that is required in the Timecard for the Total Worked (hours) paycode to be eligible for the overtime exemption.

    Default = 00:01(1 minute).

    User prompt = No

    Mandatory = No

    Note: Use the format hh:mm.

    TotalWorkedThreshold

    Text

    Process Signed-Off Period

    Whether to process data for singed-off periods.

    True= Process data for signed-off periods.

    False(default) = Do not process data for signed-off periods.

    User prompt = No

    Mandatory = No

    ProcessSignedOffPeriod

    Boolean

    Earnings Percentage

    The percentage for the calculation of the earned commissions.

    Default = 50% of the base rate of pay.

    User prompt = No

    Mandatory = No

    EarningsPercentage

    Text

    Total Commissions

    The combined paycode that holds all paycodes for commissions.

    Default = Total Commissions.

    User prompt = No

    Mandatory = Yes

    TotalCommissions

    Text

    Override Workrule Suffix

    A comma-separated list of suffixes for override work rules.

    Default = blank.

    User prompt = No

    Mandatory = Yes

    Note:

    Enter the suffixes, each separated by a comma ( ,) but no spaces.

    Example: _OTExempt,_OTOverride,_WithoutOTWorkrule

    OverrideWorkruleSuffix

    Text

    Individual Employee ID

    A comma-separated list of specific employees for whom the integration is run.

    When no value is entered, the integration defaults to the Hyperfind parameter.

    To process the integration for only a limited group of employees, enter the person numbers as defined in the source system, each separated by a comma (,) but not spaces.

    User prompt = Yes

    Mandatory = No

    IndividualEmployeeID

    Text

    Comment

    The comment that identifies the overtime exemptions for the override exemption.

    Default = Adjusted by FLSA 7i Integration.

    User prompt = No

    Mandatory = Yes

    Comment

    Text

    Average Rate of Pay Multiplier

    The average multiplier for the calculation of the average rate of pay for overtime hours. The multiplier value is used as follows:

    Average rate of pay > Multiplier x Minimum wage rate

    Default = 1.5 times the base rate of pay.

    User prompt = No

    Mandatory = No

    AverageRateOfPayMultiplier

    Text

    Totalization Retry Count

    The maximum number of times to run the integration again when employee records were not totalized.

    Default = 5 retries.

    User prompt = No

    Mandatory = Yes

    TotalizationRetryCount

    Text

  11. Make sure that the generic data access profiles (GDAP) allow access by the people who need to run the installed integrations.

    See Configure Access to Integrations .

Run and test the Overtime Exemption integration

Run integrations to test that the configuration is set up correctly.

  1. Run the integration
    1. Select the integration:
      1. Select Main Menu Maintenance > Integrations.
      2. Click Tap Run an Integration .
      3. Select the FLSA7iOvertimeExemption_iPack_v2 integration from the list. Click Tap Select.
      4. (Optional) Enter a unique Integration Run Name to make it easier to identify the run of the integration. Otherwise, the default name ends with a date and time stamp.
    2. Set parameters as follows:
      • Hyperfind: Select a hyperfind query of employees.
      • Individual Employee ID: To process data for only a limited group of employees, enter the person numbers, as defined in the source system, each separated by a comma ( ,) but no spaces.

        Example: For 3 employees: 13997,15556,20012

    3. Select the following:
      • Run Integration : If this is the first time this integration is being run.
      • Re-Run: If this integration has been run before, and the status is not In-Progress, you can run the integration again without entering the parameter values again. Click Tap Yes to continue, or No to not run the integration and to return to the parameter settings.
    4. Wait for the confirmation that the integration completed or failed. Close the panel.
    5. Click Tap Refresh .
    6. To see details, select the integration run. Select Run Summary.
  2. Check the results

    Status indicators

    • In-Progress: The run of this integration has not yet completed.
    • Completed: The integration ran successfully without errors.
    • Scheduled: This integration is scheduled to run later or repeatedly.
    • (Grayed out) Scheduled but Deleted: This integration is scheduled to run, but the integration template has been deleted. When it runs, it will generate an error. To prevent this error, delete the scheduled integration run.
    • Completed with Errors: The integration ran successfully, but one or more records have errors. The integration run is treated as failed. If Abort on Failure is configured in an integration set, the integration set stops.
    • Failed: The integration run has errors or could not run.
    • To troubleshoot and resolve errors, do the following:

      Check the Run Summary for details.

      • To troubleshoot all types of errors, or if the Run Summary shows a large number of errors, click tap Go to Additional Details (if available), or click tap the Source File to open and examine the input source file.
      • (Only for import integrations) To troubleshoot and resubmit integrations that have transactional or data errors, click tap Go to Transaction Assistant.

    To check the results in more detail, do the following:

    1. To see detailed results, click tap the tile for the integration run.
    2. Click Tap Run Summary to see the results of the integration run.

      Example Run Summary details

      Note: The available details vary by integration and configuration.
      • Integration Run Name: Name of this run of the integration.
      • Process Name: Name of any integration set that includes this integration.
      • Integration Name: Name of the installed integration.
      • Integration Reference ID: Unique identifier for this integration run (to help in troubleshooting errors).
      • User: The person or user account that ran the integration.
      • Integration Type: Import, Export, or None
      • Start Date: Date and time when the integration run started.
      • End Date: Date and time when the integration run finished.
      • Status: In-Progress, Completed, Completed with Errors, or Failed.
      • Records Processed: Number of records that were processed.
      • Records Created: Number of records that were created.
      • Errors: Number of records that failed.
      • Source Files, Output File, and Error Files: For file-based import integrations, use Manage SFTP to access the source and output files on the inbound (source) and outbound (destination) SFTP folders. See the Manage SFTP topic.
    3. Log in to the destination system and make sure that the data has been correctly updated.
    Note: You can schedule integrations and integration sets to run once later or at a recurring frequency. See the Schedule Integrations topic.

APIs

API details

APIs for the Overtime Exemption integration

API name

Type

Resource path

Description

Execute Hyperfind Query

POST

/v1/commons/hyperfind/execute

Executes a Hyperfind query by ID or qualifier and returns the results.

Retrieve Timecards as Manger

POST

/v1/timekeeping/timecard/multi_read

Returns a list of timecards based on the employees or Hyperfind details provided.

Submit Integration Execution Additional Details

POST

/v1/platform/integration_executions/{id}/additional_details

Submits all additional details related to an integration run (API or batch) into the system.

Update Integration Execution Details

POST

/v1/platform/integrations/update_status

Updates and returns the callback instance against the provided integration run details.

Retrieve Comments as Manger

GET

/v1/commons/comments

Returns a filtered list of comments.

Retrieve Persons

POST

/v1/commons/persons/extensions/multi_read

Returns multiple person records based on search criteria.

Update Timecard as Manger

POST

/v1/timekeeping/timecard

Updates a timecard for an employee as a manager.

Retrieve Data

POST

/v1/commons/data/multi_read

Returns aggregated data by executing an ad hoc query.

Retrieve Paycodes as Manager

POST

/v1/timekeeping/setup/pay_codes/multi_read

Returns one or more paycodes available to the logged-in manager by object references.

Retrieve All Work Rules

GET

/v1/timekeeping/setup/full_work_rules

Returns all work rules.

Retrieve Timecard Data for Multiple Employees

POST

/v1/timekeeping/timecard_metrics/multi_read

Returns timecard data for a set of employees or locations.

Enable Edits Bulk Update

POST

/v1/timekeeping/enable_edits/import

Returns a list of employees with enabled edits.

Version history

Version history

Version

Description

1

Initial release.

1.1

Enhancement:

Includes project view employees who are paid from actuals.

iPack_v2

The Overtime Exemption integration delivery is now by way of an iPack.

The Overtime Exemption integration failed during the Retrieve Employees operation when a terminated employee was included in the Hyperfind.

The Overtime Exemption integration did not properly exempt commission-based employees, specifically those with a base wage assignment of zero.