Timecard Sign-off Validation

The Timecard Sign-off Validation attestation process offers granular control over timecard sign-off by a manager.

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.

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

  1. Migrate the process model to the tenant Migrate the Timecard Sign-off Validation 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 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.
    1. Go to Main Menu > Administration > Application Setup > Business Process setup > Process Models.

    2. Select the TimecardSignoffValidation_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 the 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. 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 group

        Transfer 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 group

        Transfer 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.

  3. 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 .

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

    2. Select the TimecardSignoffValidation_v1 model and click tap Deploy
    3. 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.
    4. Click Tap Save and then Return.

APIs

API Details

API Details

API name

Type

Resource path

Description

Retrieve User Preferences for Current User

GET

/v1/commons/user_preferences

Retrieve the manager’s locale.

Retrieve Timecard as Manager

GET

/v1/timekeeping/timecard

Retrieve employee’s timecard.

Retrieve Person by Extension

GET

/v1/commons/persons/{extensionType}

Retrieve employee’s primary job and primary labor categories.

Retrieve All Labor Categories

GET

/v2/commons/labor_categories

Retrieve all labor categories.

Retrieve Manager Role Assignments

POST

/v1/commons/persons/manager_role_assignments/multi_read

Retrieve manager’s manager role assignment.

Retrieve Employee Group by ID

GET

/v1/commons/employee_groups/{id}

Retrieve employee group details.

Retrieve Labor Category Profile by ID

GET

/v1/commons/labor_category_profiles/{id}

Retrieve labor categories entry from labor category profile assigned in employee group.

Retrieve Location Set by ID

GET

/v1/commons/location_sets/ {id}

Retrieve location and jobs from org set assigned in employee group.

Retrieve Symbolic Periods

GET

/v1/commons/symbolicperiod

Retrieve symbolic period name.

Sign Off Employee Timecard as Manager

POST

/v1/timekeeping/timecard_signoffs

Signoff the employee's timecard as manager.