Overtime Preference

The Overtime Preference workflow automates overtime handling based on employee preference.

Note: This business process is an extension model that is developed outside the normal release schedule to meet specific customer needs. To request one of these models, you must submit a Salesforce Service Request to UKG. After the model is delivered to your tenant, you can edit it to meet your needs.

When combined with the Totalizer Extensibility Setup workflow, employees determine how their worked overtime hours are processed. Organizations can offer employees the choice of receiving time compensation, money, or a combination of time and money.

Employee overtime preferences are effective dated, empowering employees to make adjustments as needed. Manager approval is not required.

Considerations and limitations

  • Timekeeping and Accruals entitlements are required.

  • You must enable the Totalizer Extensibility feature switch before configuring and utilizing the Totalizer Extensibility Setup process.

  • The Totalizer Extensibility Setup workflow must be implemented on your tenant.

  • You must configure custom zones by way of Totalizer Extensibility Setup.

  • Effective-dated overtime preferences adhere to the midnight day divide.

  • Multiple overtime preferences can be configured during the same pay period, but only one overtime preference can be configured on a single day.

  • Historical corrections are supported, however, historical changes to employee preferences are not supported.

User experience

Administrator

Administrators create custom zones, and then uses them to build the combination rule and pay code distribution. By combining existing zones with custom zones, a wide breadth of distribution options becomes possible.

Work and pay rules are subsequently configured before the administrator makes or confirms appropriate pay rule assignment to the employee.

Employee

An employee launches the Overtime Preference workflow from My Business Processes and chooses how they want overtime processed.

The Overtime Preference pane displays, and the employee selects the overtime preference, effective dates, and then submits the choice. A message displays to acknowledge the updated selection.

Effective dates offer flexibility to the employee to establish multiple overtime preferences. For example, the employee chooses to receive money compensation for the first three months of the calendar year, and then chooses to receive time for time for the remainder of the calendar year.

Note: Overlapping effective-dated overtime preferences are prevented.

When the employee submits punches that generate overtime, calculation is based on the custom zone in effect on the day in which overtime occurs.

Before you start

Before implementing the Overtime Preference extension, you must complete each of the following steps to configure the custom zone assignment.

Custom zone rules: Custom zones must be created by way of the Totalizer Extensibility Setup Tool for each overtime preference that is applicable within the organization. See the Totalizer Extensibility Setup Tool topic.

Examples include:

Time for Time

Money

TimeAndMoney

Combination rule: Create a combination rule that includes selection of each custom zone. See the Combination Rules topic.

Paycode distribution: Create a pay code distribution based on the zones and overtimes from the combination rule. This single pay code distribution applies to all types of overtime processing available to employees. See the Paycode Distributions topic.

Work rule: Create a work rule by selecting the pay code distribution that is configured with the custom zone rules. Configure the available overtimes and zones. See the Work Rules topic.

Pay rule: Create a pay rule that includes selection of the appropriate work rule. See the Pay Rules topic.

Note: Assign the pay rule to all employees who rely on Overtime Preference functionality.

Configure the Overtime Preference business process model

  1. Migrate the business process model to the tenant Migrate the Overtime Preference process model to the customer tenant using Setup Data Manager (SDM).
    1. Log in to the appropriate tenant.

    2. Go to Main Menu > Administration > Setup Data Manager.

    3. Select the Source tenant where the Process Model resides, and select the template to copy. It is a .zip file. A message appears in the Source column: Source: Import from <filename>.zip.

    4. Click Tap Review and Publish. The Publish Summary panel appears.

    5. Review the Publish Summary panel. It lists the items that were extracted from the migration file. If you approve, click tap Publish with Comment or just Publish.

    6. Click Tap Go to Publish History at the bottom of the panel to view the status of the data transfer. The Publish History page contains a table that lists the items you have published. If there were errors during the transfer, the button under the Errors column for that row is black.

    7. To view details, click tap the appropriate row and click tap View Selected.

    8. On the History for publish run page, click tap Show all to view the setup data that you published, and the errors that occurred, if any, listed by item type and name.

  2. Configure the decision tables Configure the Overtime Preference decision tables.
    1. Go to Main Menu > Administration > Application Setup > Business Process setup > Process Models.

    2. Select the OvertimePreference_v1 process and click tap Edit. The process model enters edit mode.

    3. Select the Decision Tables tab.

    4. Click Tap Everyone's, and then select a decision table to edit.

    5. Click Tap Decision Table Editor to add or update the rows in the table.

    6. Click Tap Save and close.

    7. Repeat the step for each Overtime Preference decision table.
      Caution:
      • Values entered in the decision tables are case-sensitive, and must match configured values in the application.

      • Do not remove variables, variable names, or variable types from any decision table.

      • OvertimePreference_v1_InternalParameters— Controls internal overtime preference parameters.

        Overtime Preference — Internal Parameters decision table structure

        Overtime Preference — Internal Parameters decision table structure

        Column name

        Description

        Admin

        Internal user; do not change.

        Default = SERVICES-LEVEL3

        Note:

        When the workflow is calling the APIs and Admin= blank, the process checks the permissions in the function access profile assigned to the user executing the workflow.

        Employee

        The variable used in Activiti Process to get the Employee number.

        ForeverDate

        The date which indicates that the overtime preference is set indefinitely.

        Default = 3000-01-01

        Note: Must adhere to the format defined in ForeverDateFormat.

        ForeverDateFormat

        The date format.

        Supported values include:

        yyyy-MM-dd(default)

        dd-MM-yyyy

        dd/MM/yyyy

        yyyy/MM/dd

        MM-dd-yyyy

        MM/dd/yyyy

        ForeverDateLabel

        The label which indicates that the overtime preference is set indefinitely.

      • OvertimePreference_v1_Locale— Allows customization of the text in the workflow form and notifications for different locales.

        Overtime Preference — Locale decision table structure

        Overtime Preference — Locale decision table structure

        Column name

        Description

        Locale Parameter Name

        Internal field; do not change.

        Locale Policy

        Locale policy for which the text applies.

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

        Locale Parameter Value

        Text displayed in the workflow form or notification.

        Note:
        • Localization of business process workflows remains optional, but is supported.​
        • You can translate some or all messages by adding lines to the table in their preferred translation for specific locales. Decision tables are scanned from top to bottom; therefore, place messages for the most commonly used Locale Policy at the top of the decision table and less-restrictive locale policies at the bottom.
        • Text within tags ("<>") must not be changed.
        • The decision table holds all messages represented with standard English labels; these apply to all locales when the Locale Policy is set to !=empty.
        • Names of the parameters in the decision table column ​Parameter Name must be used as is. If any parameter value needs to be localized for a different Locale Policy, copy the ​Parameter Name​ with the !=empty ​Locale Policy, add a new row to the decision table with the appropriate Locale Policy, and then add the localized value in the Message column.​
        • Decision tables support operators like "Contains," "Starts with," "Ends with," and "Is Not Empty." You can achieve your preferred results by following these examples:
          • To match any non-empty or any string (like *), use the "Is Not Empty" operator.
          • To match a string starting with "ABC" (like "ABC*"), use the "Starts with" operator and set the value to "ABC".
          • To match a string containing "English" as substring, use the "Contains" operator with the value "English".
        • The last row in the decision table must remain empty ("!=empty".)

        Sample Locale decision table content

        Sample Locale decision table content

        Locale Parameter Name

        Locale Policy

        Locale Parameter Value

        Error_API

        !=empty

        API error: <APIErrorMessage>

        Label_AnnotationPreferences

        !=empty

        Your preferences

        Label_EffectiveFromDate

        !=empty

        Effective from

        Label_EffectiveToDate

        !=empty

        Effective until

        Label_EmployeePreference

        !=empty

        How should we process your overtime?

        Label_ErrorFormHeader

        !=empty

        Error encountered

        Label_ErrorFormTerminateButton

        !=empty

        Close

        Label_PurposeMoney

        !=empty

        Money

        Label_PurposeTime

        !=empty

        Time for Time

        Label_PurposeTimeAndMoney

        !=empty

        Time and Money

        Label_StatusSuccess

        !=empty

        Updated successfully

        Label_Submit

        !=empty

        Submit

        Message_AnnotationStatus

        !=empty

        Preference Type: <AnnotationType>\nStart Date: <AnnotationStartDate>\nEnd Date: <AnnotationEndDate>\nStatus: <StatusLabel>

        Message_EmptyAnnotation

        !=empty

        None

        Message_MoneyAnnotation

        !=empty

        <StartDate> - <EndDate>: Money

        Message_TimeAnnotation

        !=empty

        <StartDate> - <EndDate>: Time for Time

        Message_TimeAndMoneyAnnotation

        !=empty

        <StartDate> - <EndDate>: Time and Money

        Message_TimecardSignedOffErrorMessage

        !=empty

        <SignedOffDate>: You cannot add or delete preferences in signed-off time.

  3. Deploy the updated business process model

    Process models must be redeployed every time changes are made to an existing model. Re-deployment is not required for decision table changes.

    Follow these steps to deploy the process model. For detailed information, see the online help topic Deploy Business Process Models .

    1. Go to Main Menu > Administration > Application Setup > Business Process setup > Process Models

    2. Select the OvertimePreference_v1 model.

    3. Click Tap Edit, and then configure the required parameters and deployment dates.

      • (Optional) In Description, enter Overtime Preference.
      • In Display Name, enter OvertimePreference_v1.
      • In Start Effective, select the effective start date.
      • In End Effective, select Forever to make the Business Process available indefinitely.
      • In Status, select Active.
      • In Action List, select Hide.
      • In Tile List, select Show.
      • In GoTo List, select Hide.
        Caution: Do not make a selection from the Template Categories list.
    4. Click Tap Save, and then select Return to deploy.

    5. Add the process model to the required process profile.

    6. Assign the process profile to employees by way of People Information.

APIs

API details

API details

API name

URI

Method

Description

Create Timecard Annotation

v1/timekeeping/timecard_annotations

POST

Creates the annotation type with respect to Time, Money, Time and Money.

Retrieve Timecard Annotation

v1/timekeeping/timecard_annotations

GET

Retrieves Timecard annotations.

Sign Off Employee Timecard as Manager

v1/timekeeping/timecard_signoffs

GET

Retrieves the sign-off dates of employee timecards.

Retrieve User Preferences for Current User

v1/commons/user_preferences/locale_policy

GET

Retrieves the user locale and preferences for the current user or tenant.