Overtime Preference
The Overtime Preference workflow automates overtime handling based on employee preference.
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.
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.
Configure the Overtime Preference business process model
- Migrate the business process model to the tenant Migrate the Overtime Preference process model to the customer tenant using Setup Data Manager (SDM).
-
Log in to the appropriate tenant.
-
Go to
. -
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.
-
Click Tap Review and Publish. The Publish Summary panel appears.
-
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.
-
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.
-
To view details, click tap the appropriate row and click tap View Selected.
-
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.
-
- Configure the decision tables Configure the Overtime Preference decision tables.
-
Go to
. -
Select the OvertimePreference_v1 process and click tap Edit. The process model enters edit mode.
-
Select the Decision Tables tab.
-
Click Tap Everyone's, and then select a decision table to edit.
-
Click Tap Decision Table Editor to add or update the rows in the table.
-
Click Tap Save and close.
- 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.
-
-
- 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 .
-
Go to
-
Select the OvertimePreference_v1 model.
-
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.
- (Optional) In Description, enter
-
Click Tap Save, and then select Return to deploy.
-
Add the process model to the required process profile.
-
Assign the process profile to employees by way of People Information.
-
APIs
API name |
URI |
Method |
Description |
---|---|---|---|
v1/timekeeping/timecard_annotations |
POST |
Creates the annotation type with respect to Time, Money, Time and Money. | |
v1/timekeeping/timecard_annotations |
GET |
Retrieves Timecard annotations. | |
v1/timekeeping/timecard_signoffs |
GET |
Retrieves the sign-off dates of employee timecards. | |
v1/commons/user_preferences/locale_policy |
GET |
Retrieves the user locale and preferences for the current user or tenant. |