Accrual Payout Request

This extension enables employees to request payment from an accrual balance by submitting either an hour amount or a monetary amount. In organizations that maintain two accrual types — such as Hours and Dollars — the extension processes both values simultaneously.

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 a payout request is approved, equivalent hour and money amounts are deducted from their respective balances. The extension also performs automatic adjustments as needed, based on the employee’s available accrual balances.

The extension provides several configuration controls that allow administrators to define how accrual payouts are managed within the organization. Administrators can:

  • Specify which accrual types are eligible for payout.
  • Select one or more calculation models to determine monetary payout amounts.
  • Enforce mandatory retained balances, defined either as a fixed amount or a percentage of the available balance.
  • Prevent payouts that would result in overdrawn accrual balances.
  • Configure periodic payout limits that comply with organizational or regulatory requirements.
  • Avoid payout restrictions that apply when processing requests through standard time-off workflows.
  • Choose between manual or automated review workflows prior to payout approval.

These options allow the extension to support a wide range of policies and business rules.

Money calculation models

The extension includes several configurable models for calculating money paycode equivalents. Administrators may enable one or more of the following calculation methods:

  • Base Wage Calculation: Uses the employee's base wage rate effective on the payout request date.
  • Fixed Average Calculation: Uses a fixed average rate derived from historical accrued hours and monetary amounts, typically from the previous year.
  • Rolling Average Calculation: Uses a dynamic average rate calculated by dividing the Money Balance by the Hours Balance as of the request date.
  • Vacation Pay Rate Calculation: Uses the employee's assigned vacation pay rate effective on the payout request date.

These models allow organizations to align payout calculations with their established pay practices.

Payout request management

Employees may delete their own payout requests provided that the review process has not yet started.

Organizations that use manual review can configure a multi-level approval workflow through the reviewer list. The configuration supports:

  • Up to five (5) approval levels.
  • Up to twenty (20) reviewers per level.

A payout request is finalized and processed only after all required reviewers — either through manual action or automated rules — have approved the request.

User experience

The following examples illustrate how organizations can apply key features of the Accrual Payout Extension. These scenarios demonstrate calculation behavior, approval workflows, quota enforcement, and protections against overdrawn accrual balances.

After all required reviewers — either through manual action or automated rules — have approved a payout request, the workflow performs the following steps:

  1. Calculates the appropriate accrual conversion based on the calculation model applicable on the request submission date:

    • The monetary equivalent of the requested vacation hours, or

    • The hour equivalent of a requested monetary payout amount.

  2. Adds the resulting money-taking paycodes to the employee's timecard (Details and Totals add-on).

  3. Displays the hour deductions in the Timecard Totals add-on using the paycodes defined in the entitlement cascade. This shows how hours are drawn from each applicable accrual year or bucket.

Accrual payout request using base wage calculation with manual approval

In this default configuration, the system uses the employee's current base hourly wage on the date the request is submitted.

  • Employee A

    • Base wage: CAD $20.00/hour

    • Accrual balances: 80 hours and CAD $1,600

The employee submits a payout request for 15 hours, resulting in a calculated monetary amount of CAD $300.00. Because sufficient balances exist, the request is routed for manual approval. Upon approval:

  • Updated balances: 65 hours and CAD $1,300

Automatic approval with overdraw prevention

In this configuration, the system validates available balances before automatically approving the request. If the request exceeds the available dollar balance, the workflow adjusts the payout and allows the employee to accept the adjustment or cancel the request.

  • Employee B

    • Base wage: CAD $20.00/hour

    • Accrual balances: 80 hours and CAD $1,500

The employee submits a payout request for 80 hours.

  • Calculated cost: CAD $1,600, which exceeds the available monetary balance.

The workflow automatically adjusts the payout to 75 hours at a total of CAD $1,500. The employee may accept the adjusted amount or cancel the request before submission.

Payout quota enforcement

Organizations may define a maximum payout limit (quota) for a specific period, such as a calendar year. Even when an employee has sufficient accrual balances, payouts are restricted or adjusted to ensure compliance with the quota.

  • Company A sets a payout quota of CAD $1,000 per employee per period.

  • Employee C

    • Base wage: CAD $20.00/hour

    • Accrual balances: 80 hours and CAD $1,500

Earlier in the year, the employee received a payout of CAD $800 (40 hours).

The employee may continue to submit payout requests until reaching the remaining quota of CAD $200.

If the employee submits a request that exceeds the remaining quota, the workflow automatically limits the request to CAD $200 (10 hours). The employee may then choose to accept the adjusted request or cancel it.

Considerations and limitations

  • When tracking two accrual types for the same entitlement, you must ensure that each accrual has equivalent balances and configurations with respect to grants, limits, and policies.

  • Employees who are assigned the Base Wage calculation model must have a base wage assignment that exceeds zero (0).

  • Because the Fixed Average calculation model relies on grants awarded during the previous year, the model should not be used with employees hired during the current year.

  • Accrual policies must be defined with the appropriate taking paycode.

  • The extension processes only hours- and money-based accrual codes; it ignores day-based accrual codes.

  • When the Vacation Pay Rate Calculation model is in use,

    • Do not assign overlapping Vacation Pay Rate Certificates in the employee's people record.

    • You must define each of the following fields and values in the Skills and Certifications section of the employee's people record:

      • Certification: Certificate name

      • Number: Employee wage (This value can optionally contain a decimal point or comma, but it must not contain a currency symbol.)

      • Grant date: Certificate start date

      • Expiration date: Certificate expiration date

  • You can set accrual code payout boundaries using:

    • Eligibility threshold.
    • Minimum payout.
    • Maximum payout.

Before you start

Before you configure this business process, you must do the following:

Comments: Configure two comments; one is used for the payout paycode edit and the other is used to identify the paycode edits in the Timecard. The paycode category and the active option must be selected during configuration of each comment. See the Comments topic.

Paycodes: Configure paycodes to support the accrual payout process. See the Paycode definition topic. Examples include:

An hours-based paycode that is added by the process to the employee's schedule as an indicative paycode. This paycode can optionally be configured as hidden.

The payout paycode that is added as a Taking in the accrual policies. Only one taking paycode is mapped with the accrual code in the Accrual Policy decision table. The Taking paycodes for time off are different from Taking paycodes for payout.

Corresponding money and hour paycodes used for Taking.

Note: This business process does not refer directly to the paycode in the Payout Pay Code in the accrual policy. The system uses this paycode when a manager starts an accrual payout, but this action pays out all of the remaining balance. For this requirement, employees can select the payout amount, so the business process uses a standard taking paycode in the accrual policy instead of the Payout Pay Code.

Accrual codes: Create accrual codes (hour, day, and money types) for which accrual payout requests are made. If Allow Manual Edits is selected, only the corresponding accrual code is available for payout. See the Accrual codes topic.

Accrual policies: Configure accrual policies using each of the accrual codes created for this business process. See the Accrual policies topic.

If an accrual policy has paycodes in Takings, only the corresponding accrual code is paid out.

Note: The takings paycode related to time-off is different from the taking paycode related to payout.

Accrual profiles: Configure an accrual profile using each of the accrual polices created for this business process. If an accrual policy is set to Display, only the corresponding accrual code is available for payout. See the Accrual profiles topic.

Note: Assign the accrual profile to the employee on the people information page or in the employment term assigned to the employee.

Symbolic purposes: Create a symbolic (reviewer) purpose of the Reviewer Override type and Active status. See the Symbolic Purposes topic.

Note:
  • People Information uses this purpose to link to the reviewers list.

  • Assign the Purpose to the employee in People Information under Timekeeping > Approvals & Reviewers.

Reviewer lists: Create a General and Active reviewer list so that the accrual request can identify the approver. Add the appropriate reviewer at each of the required steps, and select <None> in the Also Notify section. See the Reviewer Lists topic.

Note:
  • Configure no more than 5 review steps and no more than 20 reviewers at each step.
  • Do not repeat the same reviewer on multiple steps.
  • Assign the Reviewer List to the employee in People Information under Timekeeping > Approvals & Reviewers.

Workflow notifications: Configure two workflow notifications — one for the employee and the second for the reviewer. During the configuration of each notification, select Recipient List will be supplied at runtime and Send to employee in the Recipients section; and Do not suppress duplicates in the Suppress Duplicate Alerts section. See the Configure Notifications for Business Processes topic. Examples include:

Name: Accrual Payout Request — Employee Notification

Subject, Long Message and Control Center: Select custom tags as appropriate.

Name: Accrual Payout Request — Reviewer Notification

Subject, Long Message and Control Center: Select custom tags as appropriate.

Note: The notifications are automatically generated as system messages; control center notification mapping is not required. System message must be part of the employee and manager Control Center Profile.

Custom tags

Variable definitions

Tag name

Description

<Status>

Payout requests can have the following status:

Approved, the request is approved by the payout administrator;

Refused, the request is refused by the payout administrator;

Failed, the request failed because of a paycode edit API error; or

Retracted, the request was retracted by the employee.

<StatusMessage>

Details about the status of the request.

<EmpName>

The name of the employee who submitted the request.

Format: Name (EmployeeID).

<ReviewerName>

The name of the person who reviewed the request.

Format: Name (EmployeeID).

<AccrualCodeName>

The name of the accrual code.

<PayCodeName>

The name of the taking paycode.

<Amount>

The amount of the payout that is entered by the employee.

Format: Amount type.

Example: 10:00 Hours.

<RequestDate>

The date the request was submitted or the start date of the requested accrual.

<StatusChangeDate>

The most recent date when the status of the request was changed by the employee or the reviewer.

<EmpReason>

(Optional) A note for the reason the employee submitted the request.

<ReviewerComment>

(Optional) A comment by the reviewer for the reason they approved or refused the request.

<Assigned To>

The name of the person for which the request is awaiting approval.

Format: Name (EmployeeID).

Configure the Accrual Payout Requests process model

Note: The process for configuring and deploying this and other Business Process Extensions is the same as all Business Process models .
  1. Migrate the Accrual Payout Request business process model to the customer tenant.
    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 Accrual Payout Request 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 AccrualPayoutRequest_v6 process model 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.

    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.
  3. Edit the following decision tables:
    AccrualPayoutRequest_v6_Parameters — controls process parameters.
    Important: Decimal values contained in currency and time entries in the decision table must match the tenant locale.

    Accrual Payout Request Parameters decision table structure

    Variable name

    Description

    Default value

    enableDebugging

    true — Error messages display without formatting. Useful for UAT and Test environments.

    false — Error messages display with formatting. Should be used in the production environment.

    The value is case-insensitive.

    false

    SymbolicPurpose

    Associates the payout business process with a reviewers list.

    Accrual Payout Request

    EmployeeNotification

    The name of the workflow notification that goes to the employee at the end of the request process. Provide NULL if notification is not required.

    Accrual Payout Request — Employee Notification

    ReviewerNotification

    The name of the workflow notification that goes to the reviewer at the end of the request process. Provide NULL if notification is not required.

    Accrual Payout Request — Reviewer Notification

    PaycodeComment

    The name of the comment to attach to the paycode. Provide NULL if the comment is not required.

    Adjusted by Workflow

    enableDebuggingDetermines whether the process displays a formatted error message to assist with debugging in the test environment.
    Important: Set this value as false on the production server.
    false

    TotalizationWaitTime

    Specifies the amount of time, in seconds, that is allowed for the callable Totalizer to complete totalization.

    5

    ShowEligibleAccrualCodeOnly

    true— Only eligible accrual codes are displayed in the drop down.

    false— All accrual codes are displayed in the drop down.

    true

    SilentApprovalDuration

    (Optional) Duration of time that must elapse in order for the accrual payout request to be auto-approved.

    When a value is not provided, auto-approval functionality is not enabled.
    Caution: Must adhere to the HH:mm format.

    48:00

    ApprovalPendingPaycode

    (Optional) The paycode applied to the employee timecard that tracks accrual payout requests.

    When a value is not provided, a paycode is not applied to the employee timecard.

    Payout Approval Pending

    ApprovalPendingComment

    The comment attached to the ApprovalPendingPaycode.

    Accrual Payout Status

    VacationPayRateCertificateNameName of the certificate that determines the wage rate associated with the Vacation Pay Rate calculation model.
    QuotaValidationPeriodStartDateStart date of the quota validation period.
    Caution:

    The value must adhere to the DD/MM format.

    01/01
    QuotaValidationPeriodEndDateEnd date of the quota validation period.
    Caution:

    The value must adhere to the DD/MM format.

    31/12
    FixedAverageCalculationPeriodStartDatePeriod start date for which accrual grants associated with the Fixed Average calculation model are measured.
    Caution:

    The value must adhere to the DD/MM format.

    01/01
    FixedAverageCalculationPeriodEndDate Period end date for which accrual grants associated with the Fixed Average calculation model are measured.
    Caution:

    The value must adhere to the DD/MM format.

    31/12
    AdminUsed for internal API calls. Do not update.SERVICES-LEVEL3
    AccrualPayoutRequest_v6_AccrualPolicy — controls which accruals can be paid out.

    Accrual Payout Request Accrual Policy decision table structure

    Variable name

    Description

    S NoIdentifies the row using a unique sequential value, beginning with 1.

    Accrual Profile

    The name of the accrual profile used to associate the business process with a reviewers list.

    Accrual Code

    The name of the accrual code used by the process.

    Paycode

    The name of taking paycode from the accrual policy.

    Provide only one paycode from the taking section list.

    Disallowed Overdraft

    The overdraft limit if it is configured in the accrual policy.

    Caution:

    When the Accrual Code column contains:

    • An hours-based code and the Threshold Type= Fixed, enter the value using format HH:mm

    • An hours-based code and the Threshold Type= Percentage, enter the value using format D.d

    • A day-based or money-based code, enter the value using format D.d.

    Mandatory Remaining Balance

    The minimum balance that is required after the requested deduction is paid out.

    Caution:

    When the Accrual Code column contains:

    • An hours-based code and the Threshold Type= Fixed, enter the value using format HH:mm

    • An hours-based code and the Threshold Type= Percentage, enter the value using format D.d

    • A day-based or money-based code, enter the value using format D.d.

    Threshold Type

    Enter one of the following as the type of mandatory remaining balance:

    • Fixed = A fixed, unchanging value.
    • Percentage = A calculated percentage.

    (Optional) Allocated Paycode - Money Payout

    The name of the hour, or money paycode corresponding to the Paycode column content.

    Caution:

    When the Accrual Code column contains:

    • An hours-based code or money-based accrual code, this column must contain a value, or NULL.

    • A day-based code, this column must be blank.

    Eligibility Threshold Amount

    The minimum balance required before the requested deduction is paid out.

    Important:

    This field is mandatory; it cannot contain blank nor a NULL value.

    Caution:

    When the Accrual Code column contains:

    • An hours-based code and the Threshold Type= Fixed, enter the value using format HH:mm

    • An hours-based code and the Threshold Type= Percentage, enter the value using format D.d

    • A day-based or money-based code, enter the value using format D.d.

    Minimum Payout Amount

    The minimum accrual payout amount that an employee can request.

    Important:

    This field is mandatory; it cannot contain blank nor a NULL value.

    Caution:

    When the Accrual Code column contains:

    • An hours-based code and the Threshold Type= Fixed, enter the value using format HH:mm

    • An hours-based code and the Threshold Type= Percentage, enter the value using format D.d

    • A day-based or money-based code, enter the value using format D.d.

    Maximum Payout Amount

    The maximum accrual payout amount that an employee can request.

    Important:

    This field is mandatory; it cannot contain blank nor a NULL value.

    Caution:

    When the Accrual Code column contains:

    • An hours-based code and the Threshold Type= Fixed, enter the value using format HH:mm

    • An hours-based code and the Threshold Type= Percentage, enter the value using format D.d

    • A day-based or money-based code, enter the value using format D.d.

    Model And Quota PolicyDetermines the wage calculation model and quota amount used during processing.

    The policy name entered in this column must match a Model And Quota Policy value entered in the ModelAndQuotaPolicy decision table.

    When no value is entered in this column, the process defaults to the Base Wage calculation model.

    Note:

    Maintaining separate rows in the AccrualPayoutRequest_v6_AccrualPolicy decision table for Accrual Codes and Paycodes using various locales is NOT required.

    (Optional) AccrualPayoutRequest_v6_ModelAndQuotaPolicy — identifies the calculation model and payout quota associated with the validation period.
    Note: Configuration of the ModelAndQuotaPolicy decision table is not required when the Base Wage calculation model is the only payout calculation method utilized in your organization.

    Accrual Payout Request Model and Quota Policy decision table structure

    Variable name

    Description

    Model and Quota Policy

    Determines the wage calculation model and quota amount used during processing.The policy name entered in this column must match a Model And Quota Policy value entered in the AccrualPolicy decision table.

    Associated Accrual Code-Money Payout

    Name of the hours- or money-based accrual code associated with the monetary payout.

    Caution:

    This column must remain blank if the associated accrual code is days-based.

    Associated Paycode-Money Payout

    Name of the hours- or money-based paycode associated with the monetary payout.

    Caution:

    This column must remain blank if the associated paycode is days-based.

    Model Type

    Specifies the model that the workflow processes.

    Acceptable values include:

    • Base Wage Calculation
    • Vacation Pay Rate Calculation
    • Fixed Average Calculation
    • Rolling Average Calculation

    Quota

    The maximum money amount that can be paid out within a validation period.

    Caution: The value must adhere to the M.mm format.
    Note: A warning displays to the employee upon request submission, but it does not prevent the payout from occurring.
    AccrualPayoutRequest_v6_Locale — allows customization of text in the Workflow form, and error messages for different locales.

    Accrual Payout Request Locale decision table structure

    Variable name

    Variable type

    Description

    Parameter Name

    String

    Internal field label; do not change.

    Locale Policy

    String

    Name of the locale policy for which the label applies. When the label applies to all locales, retain the empty value.

    Message

    String

    Label displayed in the Workflow form, or error message.

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

    Sample Locale decision table values

    Parameter Name

    Locale Policy

    Message

    =="ACCRUAL_NOT_FOUND"

    !=empty

    Accrual not found.

    =="POST_REQ_PROFILE_CHANGED"

    !=empty

    Accrual not found.

    =="INACTIVE_PURPOSE_FOUND"

    !=empty

    Symbolic Purpose not found.

    =="INVALID_COMMENT_FOUND"

    !=empty

    Paycode comment not found.

    =="INVALID_CC_MAPPING_FOUND"

    !=empty

    Control center notification mapping not found.

    =="NO_PEOPLE_PURPOSE_FOUND"

    !=empty

    Symbolic Purpose not found.

    =="REVIEWERLIST_INVALID_REVIEWER"

    !=empty

    Symbolic Reviewer not supported.

    =="REVIEWERLIST_INVALID_CONFIG"

    !=empty

    Invalid Reviewer List.

    =="REVIEWERLIST_INACTIVE"

    !=empty

    Inactive Reviewer List.

    =="MANAGER_REVIEWER_NOT_FOUND"

    !=empty

    Reports To not found.

    =="LEAVE_REVIEWER_NOT_FOUND"

    !=empty

    Leave Administrator not found.

    =="ATTENDANCE_REVIEWER_NOT_FOUND"

    !=empty

    Attendance Administrator not found.

    =="DEFAULT_ERROR_TITLE"

    !=empty

    Error while processing request:

    =="INSUFFICIENT_BALANCE"

    !=empty

    Insufficient balance.

    =="POOR_FIXED_REMAINING_BALANCE"

    !=empty

    Maximum allowed payout is <CALCULATED_BALANCE>. Mandatory remaining Balance: <DT_BALANCE>.

    =="POOR_PERCENTAGE_REMAINING_BALANCE"

    !=empty

    Maximum allowed payout is <CALCULATED_BALANCE>. Mandatory remaining Balance: <PERCENTAGE>% of <CURRENT_BALANCE>.

    =="DEFAULT_ERROR"

    !=empty

    An unknown error occurred. Please contact your system administrator.

    =="STATUS_MESSAGE_APPROVED"

    !=empty

    Approved

    =="STATUS_MESSAGE_REFUSED"

    !=empty

    Refused

    =="STATUS_MESSAGE_FAILED"

    !=empty

    The request was unsuccessful:

    =="STATUS_MESSAGE_DELETED"

    !=empty

    Retracted

    =="UI_VALIDATION_ERROR_TITLE"

    !=empty

    Rule Violation:

    =="UI_AMOUNT_INCORRECT"

    !=empty

    Incorrect amount format.

    =="UI_AMOUNT_TOO_LARGE"

    !=empty

    Amount is too high.

    =="UI_AMOUNT_ZERO_NOT_ALLOW"

    !=empty

    Amount must be greater than zero.

    =="ACCRUAL_DISPLAY_KEY"

    !=empty

    From Accrual

    =="AMOUNT_DISPLAY_KEY"

    !=empty

    Amount

    =="REASON_DISPLAY_KEY"

    !=empty

    Reason

    =="REVIEWER_DISPLAY_KEY"

    !=empty

    Reviewer

    =="ACCRUAL_TAG"

    !=empty

    Accrual Name

    =="PAYOUT_TAG"

    !=empty

    Payout Amount

    =="REASON_TAG"

    !=empty

    Reason

    =="EMPLOYEE_TAG"

    !=empty

    Employee

    =="ReviewerCommentPaycodeNote"!=emptyComment: <COMMENT>

    =="REVIEWER_OPTION_LABEL"

    !=empty

    Please Select

    =="REVIEWER_COMMENT_LABEL"

    !=empty

    Comment

    =="APPROVED"

    !=empty

    Approved

    =="REFUSED"

    !=empty

    Refused

    =="RETRACTED"

    !=empty

    Retracted

    =="FAILED"

    !=empty

    Failed

    =="EMP_REQUEST_SUMMARY"

    !=empty

    Request Summary

    =="REVIEWER_REQUEST_SUMMARY"

    !=empty

    Request Summary

    =="DELETED"

    !=empty

    Retracted

    =="EMP_COMMENT_LABEL"

    !=empty

    Comment

    =="APPROVE_LABEL"

    !=empty

    Approve

    =="REFUSE_LABEL"

    !=empty

    Refuse

    =="RequestDetailPaycodeNote"

    !=empty

    Payout for <AMOUNT> from <ACCRUAL> approved by <REVIEWER>.

    =="EmployeeReasonPaycodeNote"

    !=empty

    Reason: <REASON>.

    ReviewerCommentPaycodeNote

    !=empty

    Comment: <COMMENT>.

    =="ELIGIBILITY_THRESHOLD"

    !=empty

    Minimum Accrual Balance Required for Payout is <ELIGIBILITYTHRESHOLD>, Current Balance <CURRENT_BALANCE>.

    =="MIN_MAX_THRESHOLD"

    !=empty

    The Payout amount should be between <MINIMUM_THRESHOLD> and <MAXIMUM_THRESHOLD>, Requested amount <REQUESTED_AMOUNT>.

    =="EMPLOYEE_AUTO_APPROVAL"

    !=empty

    Auto-Approval on <APPROVAL_DATE>.

    =="MANAGER_AUTO_APPROVAL"

    !=empty

    Auto-Approval on <APPROVAL_DATE>.

    =="AUTO_COMPLETED_BY_PAYCODE_NOTE"

    !=empty

    Completed By: <REVIEWER_NAME> (Auto Approval).

    =="AUTO_ASSIGNED_TO_PAYCODE_NOTE"

    !=empty

    Assigned To: <REVIEWER_NAME> (Due Till: <DUE_DATE>).

    =="COMPLETED_BY_PAYCODE_NOTE"

    !=empty

    Completed By: <REVIEWER_NAME>.

    =="ASSIGNED_TO_PAYCODE_NOTE"

    !=empty

    Assigned To: <REVIEWER_NAME>.

    =="PREV_MANAGER_REVIEWER_NOT_FOUND"

    !=empty

    Previous reports to not found.

    =="PREV_LEAVE_REVIEWER_NOT_FOUND"

    !=empty

    Previous leave administrator not found.

    =="PREV_ATTENDANCE_REVIEWER_NOT_FOUND"

    !=empty

    Previous attendance administrator not found.

    =="REVIEWER_LIST_LEVEL"!=emptyReviewer Level <LEVEL>

    =="AUTO_APPROVE_LABEL"

    !=empty

    (Auto-Approved)

    =="NEXT_TAG"

    !=empty

    Next

    =="SUBMIT_TAG"

    !=empty

    Submit

    =="CLOSE_TAG"

    !=empty

    Close

    =="RETRACT_REQUEST_TAG"

    !=empty

    Retract Request

    =="INVALID_MODEL_QUOTAPOLICY"!=emptyInvalid configuration for policy <PolicyName> in decision table <DecisionTable>
    =="INVALID_PARAMETER"!=emptyInvalid value for parameter <ParameterName> for policy <ModelName>
    =="INVALID_DATEFORMAT"!=emptyInvalid date format <ParameterName>
    =="INVALID_CERTIFICATE"!=emptyInvalid Certificate <CertificateName>
    =="INVALID_MODEL_TYPE"!=emptyInvalid Model Type
    =="Cancel_button"!=emptyCancel
    =="Invalid_Quota"!=emptyInvalid Quota
    =="DT_ModelAndQuotaPolicy"!=emptyModelAndQuotaPolicy
    =="MODEL_TYPE_TAG"!=emptyModel Type
    =="REFERENCE_RANGE_TAG"!=emptyReference Range
    =="ACCRUAL_CODE_TAG"!=emptyAccrual Code
    =="EARNING_TAG"!=emptyEarnings
    =="ALLOCATED_ACCRUAL_TAG"!=emptyAllocated Accrual Code
    =="AVERAGE_WAGE_RATE_TAG"!=emptyAverage Wage Rate
    =="BALANCE_TAG"!=emptyBalance
    =="APPLICABLE_WAGE_RATE_TAG"!=emptyApplicable Wage Rate
    =="AVAILABLE_AMOUNT_TAG"!=emptyAllowed Payout Exceeded: You can only payout amount <AllowedPayoutAmount> due to insufficient balance in Allocated Accrual code (<AllocatedAccrualcode>)-(<AllocatedAccrualcodeAmount>)
    =="QUOTA_REACHED_TAG"!=emptyYou have reached Money Quota Limit of amount <Currency> <QuotaAmount> in period <QuotaPeriodStartDate> to <QuotaPeriodEndDate>, you can only Payout Amont <Currency> <Amount>
    =="BASEWAGECALCULATION_TAG"!=emptyBase Wage Calculation
    =="ROLLINGAVERAGECALCULATION_TAG"!=emptyRolling Average Calculation
    =="FIXEDAVERAGECALCULATION_TAG"!=emptyFixed Average
    =="VACATIONPAYRATECALCULATION_TAG"!=emptyVacation Pay Rate Calculation
    =="DAY_TAG"!=emptyDays
    =="ACCRUAL_PAYOUT_QUESTION"!=emptyPlease select an accrual code for payout:
    =="NO_GRANT_ERROR"!=emptyNo Grant within the specific Reference Date
    =="ASSIGNMENT_LABEL"!=emptyMultiple Assignment
    =="WAGERATE_ERROR"!=emptyWage Rate is Null
  4. Deploy the updated Accrual Payout Request business process model.
    Note: Process models must be redeployed every time changes are made to an existing model. Re-deployment is not required for decision table changes.
    1. Go to Main Menu > Administration > Application Setup > Business Process Setup > Process Models.

    2. Select the AccrualPayoutRequest_v6 model.

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

      • (Optional) In Description, enter Accrual Payout Request.
      • In Display Name, enter AccrualPayoutRequest_v6.
      • 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.

Configure the Accrual Payout Requests dataview

Migrate the Accrual Payout Request dataview 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 file, SDM_Dataview_AccrualPayoutRequest.

  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.

  9. Add the dataview to the required dataview profile.

  10. After the dataview is published, go to Main Menu > Dataviews & Reports > Dataview Library > Accrual Payout Request.

  11. (Optional) You can alter the default dataview column configuration.

    See the Edit a Dataview topic.

    1. Go to Home > Application Setup > Display Preferences > Information Access > Dataview Management, and then select Accrual Payout Request.

    2. Select the column that you want to modify, click tap Edit, and then select the appropriate value.

      • Hyperfind: Default = All Home

      • Paycode Name: Default = Payout Approval Pending

      • Notes: Default = Assigned To

APIs

API details

Name

Section

Type

Resource path

Location

Retrieve User Preferences for Current User

API > Common Resources II > Locale Settings > User Preferences > Retrieve User Preferences for Current User

GET

/v1/commons/user_preferences/locale_policy

EmpLocaleDetails: Retrieve the tenant locale if no locale is found for the employee.

Retrieve Locale Policy

API > Common Resources II > Locale Settings > Locale Policies > Retrieve Locale Policy

GET

/v1/commons/locale_policies

EmpLocaleDetails: Retrieve the employee locale.

Retrieve Reviewer List by ID

API > Common Resources I > Reviewer Lists > Retrieve Reviewer List by ID

GET

/v1/commons/reviewer_lists/{id}

GetReviewerList

Retrieve Attendance Admin by Person ID

API > People > Person Assignments > Attendance Administrator Assignments > Retrieve Attendance Admin by Person ID

GET

/v1/commons/persons/attendance_admin/{personId}

GetSymbolicAdmin: If the reviewer is the Attendance Administrator.

Retrieve Leave Admin by Person ID

API > People > Person Assignments > Leave Administrator Assignments > Retrieve Leave Admin by Person ID

GET

/v1/commons/persons/leave_admin/{personId}

GetSymbolicAdmin: If the reviewer is the Leave Administrator.

Retrieve All Symbolic Purposes or by Name or Type

API > Common Resources I > Symbolic Purposes > Retrieve All Symbolic Purposes or by Name or Type

GET

/v1/commons/symbolic_purposes

SymbolicPurposeDetail

Retrieve Persons

API > People > Persons > Retrieve Persons

POST

/v1/commons/persons/extensions/multi_read

EmpRecordDetails and the base wage for an employee.

Retrieve Timecard Data for Multiple Employees

API > Timekeeping > Timecard Metrics > Retrieve Timecard Data for Multiple Employees

POST

/v1/timekeeping/timecard_metrics/multi_read

GetAccrualDetail

Retrieve Employment Term by ID

API > Timekeeping Setup > Employment Terms > Retrieve Employment Term

GET

/v2/timekeeping/setup/employment_terms/{id}

EmployeeTerms Detail

Retrieve Comments as Manager

API > Common Resources I > Comments > Retrieve Comments — Manager

GET

/v1/commons/comments

CommentDetail

Retrieve Accrual Codes from Paycodes

API > Timekeeping > Accruals > Accrual from Paycodes — Retrieve Accrual Codes from Paycodes

POST

/v1/timekeeping/paycodes_ to_accrual_codes/multi_read

GetPaycodeMappings

Retrieve All Dynamic Event Notification Mappings

API > Common Resources I > Dynamic Event Notification Mappings > Retrieve All Dynamic Event Notification Mappings

GET

/v1/commons/event_notifications

CCMappingDetail

Retrieve Display Profile by ID

API > Common Resources I > Display Profiles > Get Display Profiles

GET

/v1/commons/display_profile/{profileId}

EmpDisplayProfile

Update Timecard as Manager

API > Timekeeping > Timecard > Update Timecard as Manager

POST

/v1/timekeeping/timecard

updateTimeCardReq: To add the paycode in the employee Timecard.

Retrieve Timezone by ID

APR-> Commons->Timezone

GET

v1/commons/setup/timezones/{id}

retrieveTimezone

Bulk Import Paycode Edits

API->Timekeeping Bulk Operations

POST

/v1/timekeeping/pay_code_edits/import

initialPayCodeEdit

Create Paycode Edits

API -> Scheduling

POST

/v1/scheduling/schedule/pay_code_edits/multi_create

initialPayCodeEdit

Update Paycode Edits

API -> Scheduling

POST

/v1/scheduling/schedule/pay_code_edits/multi_update

addPayCodeEdit

Certification AssignmentAPI->Common Resources I->Persons-> CertificationsPOST/v1/commons/persons/certifications/multi_readSkillandCertification

Version history

Version

Description

1

Initial release.

Provides a mechanism for employees to request an accrual payout.

2

Enhanced to:

  • support dynamic decision tables.

  • utilize the hour format configured in the display profile.

2.1

Addressed an issue to support multilingual accrual codes.

3

  • Enhanced to support hours equivalent deduction of the cashed-out amount.

  • Extended localization support by way of the decision table.

3.1

Addressed an issue to support commas that are configured as the decimal separator in the locale policy.

4

Enhanced to provide optional constraints that prevent employees from submitting requests that do not comply with policy.

5

Enhanced to support:

  • multiple approvers configured in the reviewer list.

  • silent approval.

Introduced a dataview that displays pending accrual payout requests.

5.1

The Accrual Payout Request workflow generated a script error when an hours-based accrual code configuration was combined with a percentage threshold type.

5.2

Localization of all buttons is now supported by the Accrual Payout Request workflow.

6Enhancements to the Accrual Payout Request workflow introduces:

Three new calculation models have been added to determine the money equivalent of a taking:

  • Fixed Average Model: Calculates the money amount based on a fixed average derived from the employee's previous year earnings.
  • Rolling Average Model: Calculates the average rate on the day of the taking.
  • Vacation Pay Rate Model: Uses the employee's vacation pay rate to compute the money equivalent.

These models supplement the existing calculation, which uses the employee's base wage on the day of the taking.

New functionality allows partial payouts up to a defined money threshold.

Additional validation logic ensures:

  • Employees cannot overdraw their vacation money balance, even if sufficient vacation hours exist.
  • Only amounts within available money balances are processed.
This enhancement prevents accrual balances from becoming negative, aligning with system constraints.