Timecard Sign-off Validation
The Timecard Sign-off Validation attestation process offers granular control over timecard sign-off by a manager.
Manager access to an employee’s timecard depends on the employee group assignment. When the employee works for a manager at least one day during the selected time period, the manager has access to all days in the time period.
When you enable the Timecard Sign-off Validation function and the employee works on different contracts or has multiple primary locations and jobs that are not part of the manager’s employee group, the manager is prevented from timecard sign-off. This function is initiated by linking the attestation process to the manager timecard sign-off button.
Considerations and limitation
Ensure that the timecard automatically refreshes with updated information by selecting the confirmation button on the timecard sign-off form.
User experience
An organization enables the Timecard Sign-off Validation process and configures the process to display a form when sign-off is prevented.
A contract employee works on multiple short-term contracts for the organization.
For each new contract, updates are made to the employee's primary job in their People record that reflect the "home" location of each contract.
The employee works at two different locations during a particular week. Monday through Wednesday, the employee works at location A, and Friday through Sunday, at location B.
The manager at location A reviews the approved timecard for the entire week and then clicks the Sign-Off button. The workflow validation detects that validation conditions are not met and displays a workflow slider which informs the manager that the timecard cannot be signed-off. Days on which the employee reports to another manager are listed on the form. The manager clicks the confirmation button to acknowledge that sign-off did not occur.
Before you start
Before you configure this business process, you must do the following:
-
Attestation condition: Create an attestation condition type of Always. See the Attestation Conditions topic.
-
Attestation buttons: Create an attestation button. Set the button type as Timecard Action and the button subtype as Sign Off. See the Attestation Buttons topic.
-
Attestation assignments: After you have deployed the Timecard Sign-off Validation model, create an attestation assignment. Select the appropriate attestation condition, attestation button, and business process model under Punch Button Workflow.
Add the assignment to the manager's attestation profile.
Note: You must add the Attestation Process to the Attestation Profile that is assigned to managers who use the Timecard Sign-off Validation business process.
Configure the Timecard Sign-off Validation business process model
- Migrate the process model to the tenant Migrate the Timecard Sign-off Validation 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 Timecard Sign-off Validation decision tables
Note: Decision tables are configurable based on user requirements and can be changed accordingly. These tables are dynamic and can be updated at any time without redeployment of the process model.
-
Go to
. -
Select the TimecardSignoffValidation_v1 process and click tap Edit. The process model enters edit mode.
-
Select the Decision Tables tab.
-
Click Tap Everyone's, and then select the decision table to edit.
-
Click Tap Decision Table Editor to add or update the rows in the table.
-
Click Tap Save and close.
- Edit the following decision tables: 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.
- TimecardSignoffValidation_v1_InternalParameters— Controls internal Timecard Sign-off Validation parameters.
Timecard Sign-off Validation — Internal Parameters decision table structure
Timecard Approval Validation - Internal Parameters decision table structure
Parameter name
Description
Default value
Admin
Admin user for API calls.
SERVICES-LEVEL3
ManagerPersonId
Name of the manager who approves the timecard.
originator
TimecardStartDate
Timecard start date.
tcStartDate
TimecardEndDate
Timecard end date.
tcEndDate
TimecardEditJson
Employee timecard JSON.
Timecard_edits
SymbolicPeriod
Symbolic period that is selected in the timecard.
timeFrame
- TimecardSignoffValidation_v1_Parameter— Used to dynamically retrieve parameters.
Timecard Sign-off Validation — Parameter decision table structure
Timecard Approval Validation — Parameter decision table structure
Parameter name
Description
Default value
ShowRejectedSummarySignoffForm
Determines whether the sign-off form displays rejected dates.
Yes
— Display the form.No
— Do not display the form.Yes
EnableLaborCategoryValidation
Determines whether to enable labor category validation.
Yes
— Enable labor category validation.No
— Do not enable labor category validation.No
ValidateTransferredIn
Determines which job to reference during timecard sign-off validation when a transfer occurs on the In punch.
Primary Job
— Allows sign-off when the employee's primary job belongs to the manager's employee groupTransfer Job
— Allows sign-off when the employee's transfer job belongs to the manager's employee group.Note: Sign-off is NOT allowed when neither the employee's primary nor transfer jobs are part of the manager's employee group.Primary Job
ValidateTransferredOut
Determines which job to reference during timecard sign-off validation when a transfer occurs on the Out punch.
Primary Job
— Allows sign-off when the employee's primary job belongs to the manager's employee groupTransfer Job
— Allows sign-off when the employee's transfer job belongs to the manager's employee group.Note: Sign-off is NOT allowed when neither the employee's primary nor transfer jobs are part of the manager's employee group.Primary Job
DateListBulletSymbol
Identifies the symbol that precedes the date when a list of dates displays.
For example, if the DateListBulletSymbol
*
, a date list displays as:* Thurs 2/13
* Fri 2/14
Empty (blank)
- TimecardSignoffValidation_v1_Locale— Allows translation of business process messages and labels on the task form into different languages.
Timecard Sign-off Validation — Locale decision table structure
Timecard Approval Validation - Locale decision table structure
Parameter name
Description
Key
Key for which localization is defined.
LocalePolicy
Locale Policy.
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.Message
Form label or message shown as the result of a processing error.
- TimecardSignoffValidation_v1_Locale— Allows translation of business process messages and labels on the task form into different languages.
Timecard Sign-off Validation — Locale decision table structure
Timecard Approval Validation - Locale decision table structure
Parameter name
Description
Key
Key for which localization is defined.
Locale
Locale Policy.
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.Message
Form label or message shown as the result of a processing error.
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".)
Timecard Sign-off Validation — Locale sample content
Timecard Sign-off Validation — Locale sample content
Key
LocalePolicy
Message
Error_API
!=empty
#APIError#
Caution: The custom tag is case-sensitive and must not be modified.Error_EmptyValidDates
!=empty
Timecard not signed-off.\n\n You do not have permission to sign-off the timecard because the employee did not work under your supervision for the selected pay period.
Error_InvalidSymbolicPeriod
!=empty
Date range not supported.\n You must select a pay period for sign-off.
Error_InvalidValidateLaborCategory
!=empty
Invalid value provided for parameter EnableLaborCategoryValidation.
Error_InvalidValidateTransferredIn
!=empty
Invalid value provided for parameter ValidateTransferredIn.
Error_InvalidValidateTransferredOut
!=empty
Invalid value provided for parameter ValidateTransferredOut.
Error_Script
!=empty
Script failure in #error_component# Script Task in Line Number #error_line#. Error Message: #error_message#
Caution: Custom tags are case-sensitive and must not be modified.Label_Close
!=empty
Close
Label_TimecardSignoffDesc
!=empty
Timecard is not signed-off. You do not have permission to sign-off the following days in the selected pay period:\n
Label_TimecardSignoffHeader
!=empty
Timecard Sign-off.
Message_GenericErrorString
!=empty
Generic Runtime Error
Message_SysAdminErrorString
!=empty
Please contact the system administrator.
-
-
- Deploy the updated Timecard Sign-off Validation 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 TimecardSignoffValidation_v1 model and click tap Deploy
- On the Business Process page, configure the required parameters and deployment dates.
- (Optional) In Description, enter
Timecard Sign-off Validation
. - In Display Name, enter
{replace with process name, for example TimecardSignoffValidation_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 Hide.
- In GoTo List, select Hide.
- From Template Categories, select Attestation.
- (Optional) In Description, enter
- Click Tap Save and then Return.
-
APIs
API name |
Type |
Resource path |
Description |
---|---|---|---|
GET |
/v1/commons/user_preferences |
Retrieve the manager’s locale. | |
GET |
/v1/timekeeping/timecard |
Retrieve employee’s timecard. | |
GET |
/v1/commons/persons/{extensionType} |
Retrieve employee’s primary job and primary labor categories. | |
GET |
/v2/commons/labor_categories |
Retrieve all labor categories. | |
POST |
/v1/commons/persons/manager_role_assignments/multi_read |
Retrieve manager’s manager role assignment. | |
GET |
/v1/commons/employee_groups/{id} |
Retrieve employee group details. | |
GET |
/v1/commons/labor_category_profiles/{id} |
Retrieve labor categories entry from labor category profile assigned in employee group. | |
GET |
/v1/commons/location_sets/ {id} |
Retrieve location and jobs from org set assigned in employee group. | |
GET |
/v1/commons/symbolicperiod |
Retrieve symbolic period name. | |
POST |
/v1/timekeeping/timecard_signoffs |
Signoff the employee's timecard as manager. |